diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2018-08-26 17:50:17 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2018-08-26 17:50:17 +0300 |
commit | af61c1525fc7a3379979889fc97c82e812907cf2 (patch) | |
tree | 12fea722404dff7ecf0a6fd5418843a00fd8fc4d | |
parent | 4a3706dc8e493a45cf5f72e914bed0a6df2192fd (diff) | |
parent | 005a8805a826a03c66640ea237af69453f2febd1 (diff) | |
download | egawk-af61c1525fc7a3379979889fc97c82e812907cf2.tar.gz egawk-af61c1525fc7a3379979889fc97c82e812907cf2.tar.bz2 egawk-af61c1525fc7a3379979889fc97c82e812907cf2.zip |
Merge branch 'gawk-4.2-stable'
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/gawk.info | 145 | ||||
-rw-r--r-- | doc/gawk.texi | 25 | ||||
-rw-r--r-- | doc/gawktexi.in | 25 | ||||
-rw-r--r-- | support/ChangeLog | 4 | ||||
-rw-r--r-- | support/regex_internal.c | 4 |
6 files changed, 92 insertions, 115 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 6e499260..feb9eb9b 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2018-08-26 Arnold D. Robbins <arnold@skeeve.com> + + * gawktexi.in (Other Versions): Updated info on BWK awk. + 2018-08-24 Arnold D. Robbins <arnold@skeeve.com> * gawktexi.in: A number of unrelated updates. Most notably, diff --git a/doc/gawk.info b/doc/gawk.info index a899da43..652ba05e 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -29858,31 +29858,22 @@ This minor node briefly describes where to get them: Unix 'awk' Brian Kernighan, one of the original designers of Unix 'awk', has made his implementation of 'awk' freely available. You can - retrieve this version via his home page - (http://www.cs.princeton.edu/~bwk). It is available in several - archive formats: - - Shell archive - <http://www.cs.princeton.edu/~bwk/btl.mirror/awk.shar> - - Compressed 'tar' file - <http://www.cs.princeton.edu/~bwk/btl.mirror/awk.tar.gz> - - Zip file - <http://www.cs.princeton.edu/~bwk/btl.mirror/awk.zip> - - You can also retrieve it from GitHub: + retrieve it from GitHub: git clone git://github.com/onetrueawk/awk bwkawk This command creates a copy of the Git (https://git-scm.com) - repository in a directory named 'bwkawk'. If you leave that - argument off the 'git' command line, the repository copy is created - in a directory named 'awk'. + repository in a directory named 'bwkawk'. If you omit the last + argument from the 'git' command line, the repository copy is + created in a directory named 'awk'. This version requires an ISO C (1990 standard) compiler; the C compiler from GCC (the GNU Compiler Collection) works quite nicely. + To build it, review the settings in the 'makefile', and then just + run 'make'. Note that the result of compilation is named 'a.out'; + you will have to rename it to something reasonable. + *Note Common Extensions:: for a list of extensions in this 'awk' that are not in POSIX 'awk'. @@ -33464,7 +33455,7 @@ Index * awk, versions of, See Also Brian Kernighan's awk: BTL. (line 6) * awk, versions of, See Also Brian Kernighan's awk <1>: Other Versions. (line 13) -* awka compiler for awk: Other Versions. (line 73) +* awka compiler for awk: Other Versions. (line 64) * AWKLIBPATH environment variable: AWKLIBPATH Variable. (line 6) * AWKPATH environment variable: AWKPATH Variable. (line 6) * AWKPATH environment variable <1>: PC Using. (line 13) @@ -33523,7 +33514,7 @@ Index (line 57) * backtrace debugger command: Execution Stack. (line 13) * Beebe, Nelson H.F.: Acknowledgments. (line 60) -* Beebe, Nelson H.F. <1>: Other Versions. (line 87) +* Beebe, Nelson H.F. <1>: Other Versions. (line 78) * BEGIN pattern: Field Separators. (line 44) * BEGIN pattern <1>: BEGIN/END. (line 6) * BEGIN pattern <2>: Using BEGIN/END. (line 6) @@ -33610,7 +33601,7 @@ Index * Brennan, Michael <3>: Delete. (line 56) * Brennan, Michael <4>: Simple Sed. (line 25) * Brennan, Michael <5>: Other Versions. (line 6) -* Brennan, Michael <6>: Other Versions. (line 48) +* Brennan, Michael <6>: Other Versions. (line 39) * Brian Kernighan's awk: When. (line 21) * Brian Kernighan's awk <1>: Escape Sequences. (line 112) * Brian Kernighan's awk <2>: GNU Regexp Operators. @@ -33649,7 +33640,7 @@ Index * bug-gawk@gnu.org bug reporting address: Bug address. (line 31) * built-in functions: Functions. (line 6) * built-in functions, evaluation order: Calling Built-in. (line 30) -* BusyBox Awk: Other Versions. (line 97) +* BusyBox Awk: Other Versions. (line 88) * c.e., See common extensions: Conventions. (line 51) * call by reference: Pass By Value/Reference. (line 44) @@ -34685,7 +34676,7 @@ Index * gettimeofday() extension function: Extension Sample Time. (line 12) * git utility: gawkextlib. (line 31) -* git utility <1>: Other Versions. (line 29) +* git utility <1>: Other Versions. (line 18) * git utility <2>: Accessing The Source. (line 10) * git utility <3>: Adding Code. (line 112) @@ -34763,8 +34754,8 @@ Index (line 53) * IGNORECASE variable, with ~ and !~ operators: Case-sensitivity. (line 26) -* Illumos: Other Versions. (line 114) -* Illumos, POSIX-compliant awk: Other Versions. (line 114) +* Illumos: Other Versions. (line 105) +* Illumos, POSIX-compliant awk: Other Versions. (line 105) * implementation issues, gawk: Notes. (line 6) * implementation issues, gawk, debugging: Compatibility Mode. (line 6) * implementation issues, gawk, limits: Getline Notes. (line 14) @@ -34854,9 +34845,9 @@ Index * Jacobs, Andrew: Passwd Functions. (line 90) * Jaegermann, Michal: Acknowledgments. (line 60) * Jaegermann, Michal <1>: Contributors. (line 46) -* Java implementation of awk: Other Versions. (line 122) +* Java implementation of awk: Other Versions. (line 113) * Java programming language: Glossary. (line 466) -* jawk: Other Versions. (line 122) +* jawk: Other Versions. (line 113) * Jedi knights: Undocumented. (line 6) * Johansen, Chris: Signature Program. (line 25) * join() user-defined function: Join Function. (line 18) @@ -34908,7 +34899,7 @@ Index * length of string: String Functions. (line 171) * Lesser General Public License (LGPL): Glossary. (line 489) * LGPL (Lesser General Public License): Glossary. (line 489) -* libmawk: Other Versions. (line 130) +* libmawk: Other Versions. (line 121) * libraries of awk functions: Library Functions. (line 6) * libraries of awk functions, assertions: Assert Function. (line 6) * libraries of awk functions, associative arrays and: Library Names. @@ -35012,7 +35003,7 @@ Index * mawk utility <1>: Getline/Pipe. (line 62) * mawk utility <2>: Concatenation. (line 36) * mawk utility <3>: Nextfile Statement. (line 47) -* mawk utility <4>: Other Versions. (line 48) +* mawk utility <4>: Other Versions. (line 39) * maximum precision supported by MPFR library: Auto-set. (line 255) * McIlroy, Doug: Glossary. (line 255) * McPhee, Patrick: Contributors. (line 103) @@ -35131,7 +35122,7 @@ Index * OFS variable <1>: Output Separators. (line 6) * OFS variable <2>: User-modified. (line 116) * OpenBSD: Glossary. (line 746) -* OpenSolaris: Other Versions. (line 105) +* OpenSolaris: Other Versions. (line 96) * operating systems, BSD-based: Manual History. (line 28) * operating systems, PC, gawk on: PC Using. (line 6) * operating systems, PC, gawk on, installing: PC Installation. @@ -35221,8 +35212,8 @@ Index * patterns, regexp constants as: Expression Patterns. (line 34) * patterns, types of: Pattern Overview. (line 15) * pawk (profiling version of Brian Kernighan's awk): Other Versions. - (line 87) -* pawk, awk-like facilities for Python: Other Versions. (line 134) + (line 78) +* pawk, awk-like facilities for Python: Other Versions. (line 125) * PC operating systems, gawk on: PC Using. (line 6) * PC operating systems, gawk on, installing: PC Installation. (line 6) * percent sign (%), % operator: Precedence. (line 54) @@ -35417,13 +35408,13 @@ Index * pwcat program: Passwd Functions. (line 23) * q debugger command (alias for quit): Miscellaneous Debugger Commands. (line 100) -* QSE awk: Other Versions. (line 140) +* QSE awk: Other Versions. (line 131) * Quanstrom, Erik: Alarm Program. (line 8) * question mark (?), ?: operator: Precedence. (line 91) * question mark (?), regexp operator: Regexp Operators. (line 111) * question mark (?), regexp operator <1>: GNU Regexp Operators. (line 62) -* QuikTrim Awk: Other Versions. (line 144) +* QuikTrim Awk: Other Versions. (line 135) * quit debugger command: Miscellaneous Debugger Commands. (line 100) * QUIT signal (MS-Windows): Profiling. (line 212) @@ -35743,7 +35734,7 @@ Index * sleep utility: Alarm Program. (line 109) * sleep() extension function: Extension Sample Time. (line 22) -* Solaris, POSIX-compliant awk: Other Versions. (line 105) +* Solaris, POSIX-compliant awk: Other Versions. (line 96) * sort array: String Functions. (line 42) * sort array indices: String Functions. (line 42) * sort function, arrays, sorting: Array Sorting Functions. @@ -35752,20 +35743,20 @@ Index * sort utility, coprocesses and: Two-way I/O. (line 66) * sorting characters in different languages: Explaining gettext. (line 94) -* source code, awka: Other Versions. (line 73) +* source code, awka: Other Versions. (line 64) * source code, Brian Kernighan's awk: Other Versions. (line 13) -* source code, BusyBox Awk: Other Versions. (line 97) +* source code, BusyBox Awk: Other Versions. (line 88) * source code, gawk: Gawk Distribution. (line 6) -* source code, Illumos awk: Other Versions. (line 114) -* source code, jawk: Other Versions. (line 122) -* source code, libmawk: Other Versions. (line 130) -* source code, mawk: Other Versions. (line 48) +* source code, Illumos awk: Other Versions. (line 105) +* source code, jawk: Other Versions. (line 113) +* source code, libmawk: Other Versions. (line 121) +* source code, mawk: Other Versions. (line 39) * source code, mixing: Options. (line 117) -* source code, pawk: Other Versions. (line 87) -* source code, pawk (Python version): Other Versions. (line 134) -* source code, QSE awk: Other Versions. (line 140) -* source code, QuikTrim Awk: Other Versions. (line 144) -* source code, Solaris awk: Other Versions. (line 105) +* source code, pawk: Other Versions. (line 78) +* source code, pawk (Python version): Other Versions. (line 125) +* source code, QSE awk: Other Versions. (line 131) +* source code, QuikTrim Awk: Other Versions. (line 135) +* source code, Solaris awk: Other Versions. (line 96) * source files, search path for: Programs Exercises. (line 70) * sparse arrays: Array Intro. (line 76) * Spencer, Henry: Glossary. (line 16) @@ -35854,7 +35845,7 @@ Index * substitute in string: String Functions. (line 89) * substr: String Functions. (line 485) * substring: String Functions. (line 485) -* Sumner, Andrew: Other Versions. (line 73) +* Sumner, Andrew: Other Versions. (line 64) * supplementary groups of gawk process: Auto-set. (line 271) * switch statement: Switch Statement. (line 6) * SYMTAB array: Auto-set. (line 331) @@ -36654,36 +36645,36 @@ Node: Bug address1199824 Node: Usenet1202616 Node: Maintainers1203393 Node: Other Versions1204654 -Node: Installation summary1211416 -Node: Notes1212618 -Node: Compatibility Mode1213412 -Node: Additions1214194 -Node: Accessing The Source1215119 -Node: Adding Code1216556 -Node: New Ports1222775 -Node: Derived Files1227263 -Ref: Derived Files-Footnote-11232909 -Ref: Derived Files-Footnote-21232944 -Ref: Derived Files-Footnote-31233542 -Node: Future Extensions1233656 -Node: Implementation Limitations1234314 -Node: Extension Design1235497 -Node: Old Extension Problems1236641 -Ref: Old Extension Problems-Footnote-11238159 -Node: Extension New Mechanism Goals1238216 -Ref: Extension New Mechanism Goals-Footnote-11241580 -Node: Extension Other Design Decisions1241769 -Node: Extension Future Growth1243882 -Node: Notes summary1244718 -Node: Basic Concepts1245893 -Node: Basic High Level1246574 -Ref: figure-general-flow1246856 -Ref: figure-process-flow1247541 -Ref: Basic High Level-Footnote-11250842 -Node: Basic Data Typing1251027 -Node: Glossary1254355 -Node: Copying1286193 -Node: GNU Free Documentation License1323736 -Node: Index1348856 +Node: Installation summary1211212 +Node: Notes1212414 +Node: Compatibility Mode1213208 +Node: Additions1213990 +Node: Accessing The Source1214915 +Node: Adding Code1216352 +Node: New Ports1222571 +Node: Derived Files1227059 +Ref: Derived Files-Footnote-11232705 +Ref: Derived Files-Footnote-21232740 +Ref: Derived Files-Footnote-31233338 +Node: Future Extensions1233452 +Node: Implementation Limitations1234110 +Node: Extension Design1235293 +Node: Old Extension Problems1236437 +Ref: Old Extension Problems-Footnote-11237955 +Node: Extension New Mechanism Goals1238012 +Ref: Extension New Mechanism Goals-Footnote-11241376 +Node: Extension Other Design Decisions1241565 +Node: Extension Future Growth1243678 +Node: Notes summary1244514 +Node: Basic Concepts1245689 +Node: Basic High Level1246370 +Ref: figure-general-flow1246652 +Ref: figure-process-flow1247337 +Ref: Basic High Level-Footnote-11250638 +Node: Basic Data Typing1250823 +Node: Glossary1254151 +Node: Copying1285989 +Node: GNU Free Documentation License1323532 +Node: Index1348652 End Tag Table diff --git a/doc/gawk.texi b/doc/gawk.texi index 17049b43..beda03b9 100644 --- a/doc/gawk.texi +++ b/doc/gawk.texi @@ -40660,37 +40660,26 @@ This @value{SECTION} briefly describes where to get them: Brian Kernighan, one of the original designers of Unix @command{awk}, has made his implementation of @command{awk} freely available. -You can retrieve this version via -@uref{http://www.cs.princeton.edu/~bwk, his home page}. -It is available in several archive formats: - -@table @asis -@item Shell archive -@uref{http://www.cs.princeton.edu/~bwk/btl.mirror/awk.shar} - -@item Compressed @command{tar} file -@uref{http://www.cs.princeton.edu/~bwk/btl.mirror/awk.tar.gz} - -@item Zip file -@uref{http://www.cs.princeton.edu/~bwk/btl.mirror/awk.zip} -@end table +You can retrieve it from GitHub: @cindex @command{git} utility -You can also retrieve it from GitHub: - @example git clone git://github.com/onetrueawk/awk bwkawk @end example @noindent This command creates a copy of the @uref{https://git-scm.com, Git} -repository in a directory named @file{bwkawk}. If you leave that argument -off the @command{git} command line, the repository copy is created in a +repository in a directory named @file{bwkawk}. If you omit the last argument +from the @command{git} command line, the repository copy is created in a directory named @file{awk}. This version requires an ISO C (1990 standard) compiler; the C compiler from GCC (the GNU Compiler Collection) works quite nicely. +To build it, review the settings in the @file{makefile}, and then just run +@command{make}. Note that the result of compilation is named +@command{a.out}; you will have to rename it to something reasonable. + @xref{Common Extensions} for a list of extensions in this @command{awk} that are not in POSIX @command{awk}. diff --git a/doc/gawktexi.in b/doc/gawktexi.in index 1b206ba1..9ab05a54 100644 --- a/doc/gawktexi.in +++ b/doc/gawktexi.in @@ -39634,37 +39634,26 @@ This @value{SECTION} briefly describes where to get them: Brian Kernighan, one of the original designers of Unix @command{awk}, has made his implementation of @command{awk} freely available. -You can retrieve this version via -@uref{http://www.cs.princeton.edu/~bwk, his home page}. -It is available in several archive formats: - -@table @asis -@item Shell archive -@uref{http://www.cs.princeton.edu/~bwk/btl.mirror/awk.shar} - -@item Compressed @command{tar} file -@uref{http://www.cs.princeton.edu/~bwk/btl.mirror/awk.tar.gz} - -@item Zip file -@uref{http://www.cs.princeton.edu/~bwk/btl.mirror/awk.zip} -@end table +You can retrieve it from GitHub: @cindex @command{git} utility -You can also retrieve it from GitHub: - @example git clone git://github.com/onetrueawk/awk bwkawk @end example @noindent This command creates a copy of the @uref{https://git-scm.com, Git} -repository in a directory named @file{bwkawk}. If you leave that argument -off the @command{git} command line, the repository copy is created in a +repository in a directory named @file{bwkawk}. If you omit the last argument +from the @command{git} command line, the repository copy is created in a directory named @file{awk}. This version requires an ISO C (1990 standard) compiler; the C compiler from GCC (the GNU Compiler Collection) works quite nicely. +To build it, review the settings in the @file{makefile}, and then just run +@command{make}. Note that the result of compilation is named +@command{a.out}; you will have to rename it to something reasonable. + @xref{Common Extensions} for a list of extensions in this @command{awk} that are not in POSIX @command{awk}. diff --git a/support/ChangeLog b/support/ChangeLog index 4054d3e7..cbb59ff5 100644 --- a/support/ChangeLog +++ b/support/ChangeLog @@ -1,3 +1,7 @@ +2018-08-26 Arnold D. Robbins <arnold@skeeve.com> + + * regex_internal.c: Sync with GNULIB. + 2018-08-22 Daniel Richard G. <skunk@iSKUNK.ORG> * regex_internal.h: Undefine additional macros in order diff --git a/support/regex_internal.c b/support/regex_internal.c index 7f0083b9..b10588f1 100644 --- a/support/regex_internal.c +++ b/support/regex_internal.c @@ -317,7 +317,7 @@ build_wcs_upper_buffer (re_string_t *pstr) mbclen = __mbrtowc (&wc, ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx), remain_len, &pstr->cur_state); - if (BE (mbclen < (size_t) -2, 1)) + if (BE (0 < mbclen && mbclen < (size_t) -2, 1)) { wchar_t wcu = __towupper (wc); if (wcu != wc) @@ -386,7 +386,7 @@ build_wcs_upper_buffer (re_string_t *pstr) else p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx; mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state); - if (BE (mbclen < (size_t) -2, 1)) + if (BE (0 < mbclen && mbclen < (size_t) -2, 1)) { wchar_t wcu = __towupper (wc); if (wcu != wc) |