aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info145
-rw-r--r--doc/gawk.texi25
-rw-r--r--doc/gawktexi.in25
-rw-r--r--support/ChangeLog4
-rw-r--r--support/regex_internal.c4
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)