blob: 22ad7d26ecda48ff4effd6a1fe346c4a677fc867 [file] [log] [blame]
Arnold D. Robbinsbab7b072019-12-11 20:52:54 +020012019-12-11 Arnold D. Robbins <arnold@skeeve.com>
2
3 * README: Renamed to ...
4 * README.md: ... this. Cleaned up some as well,
5 including moving to Markdown.
6
Arnold D. Robbins0e1bebc2019-11-08 14:36:37 +020072019-11-08 Arnold D. Robbins <arnold@skeeve.com>
8
9 * test/T.chem: Use $oldawk instead of hardwiring 'awk'.
10 * test/T.lilly: Remove gawk warnings from output, improves
11 portability.
12
Arnold D. Robbins5ff28202019-10-07 15:50:53 +0300132019-10-07 Arnold D. Robbins <arnold@skeeve.com>
14
15 * b.c (fnematch): Change type of pbuf from unsigned char to char.
16 * proto.h (fnematch): Ditto.
17
Arnold D. Robbins7cae39d2019-10-06 22:34:20 +0300182019-10-06 Arnold D. Robbins <arnold@skeeve.com>
19
20 * lib.c (readrec): Allow RS a regular expression. Imported
21 the code from the NetBSD awk.
22 * b.c (fnematch): New function for implementing the feature.
23 * awk.1: Updated.
24 * main.c (version): Updated.
25
Arnold D. Robbinsab911ab2019-06-24 01:10:24 -0600262019-06-24 Arnold D. Robbins <arnold@skeeve.com>
27
28 * makefile: Revise to take into account there is no more awktest.tar,
29 add targets 'check' and 'test', and also 'testclean' to clean up
30 after test run. Have 'clean' and 'cleaner' depend upon 'testclean'.
31
Arnold D. Robbinsd6c466c2019-06-23 03:13:57 -0600322019-06-23 Arnold D. Robbins <arnold@skeeve.com>
33
34 * testdir: Extracted from awktest.tar and added to Git.
Arnold D. Robbins4a99bd12019-06-23 03:14:32 -060035 * awktest.tar: Removed.
Arnold D. Robbinsd6c466c2019-06-23 03:13:57 -060036
Arnold D. Robbinsfabf9ef2019-06-06 11:29:20 -0600372019-06-06 Arnold D. Robbins <arnold@skeeve.com>
38
39 * awk.1: Fix a typo, minor edits.
40
Arnold D. Robbins28dacbd2019-06-04 23:53:31 -0600412019-06-05 Arnold D. Robbins <arnold@skeeve.com>
42
43 * b.c (relex): Count parentheses and treat umatched right paren
44 as a literal character.
45 * awktest.tar (testdir/T.re): Added a test case.
Arnold D. Robbins7cae39d2019-10-06 22:34:20 +030046 * main.c (version): Updated.
Arnold D. Robbins28dacbd2019-06-04 23:53:31 -060047
Arnold D. Robbins4189ef52019-05-29 21:04:18 +0300482019-05-29 Arnold D. Robbins <arnold@skeeve.com>
49
50 * lib.c (isclvar): Remove check for additional '=' after
51 first one. No longer needed.
52
Arnold D. Robbinsf25e8452019-01-26 21:55:03 +0200532019-01-26 Arnold D. Robbins <arnold@skeeve.com>
54
55 * main.c (version): Updated.
56
Arnold D. Robbins9dbd1f12019-01-25 12:56:06 +0200572019-01-25 Arnold D. Robbins <arnold@skeeve.com>
58
59 * run.c (awkgetline): Check for numeric value in all getline
60 variants. See the numeric-getline.* files in bugs-fixed directory.
61
Arnold D. Robbins40c69162018-08-29 21:18:21 +0300622018-08-29 Arnold D. Robbins <arnold@skeeve.com>
63
64 * REGRESS: Check for existence of a.out. If not there, run
65 make. Enable core dumps for T.arnold system status test
66 to work on MacOS X.
67
Arnold D. Robbins32093f52018-08-22 20:40:26 +0300682018-08-22 Arnold D. Robbins <arnold@skeeve.com>
69
70 * awktest.tar (testdir/T.expr): Fix test for unary plus.
71
722018-08-22 Arnold D. Robbins <arnold@skeeve.com>
73
74 * REGRESS: Extract tests if necessary, set PATH to include '.'.
75 * regdir/beebe.tar (Makefile): Fix longwrds test to prefix
76 sort with LC_ALL=C.
77 * awktest.tar: Updated from fixed test suite, directory
78 it extracts is now called 'testdir' to match what's in top-level
79 REGRESS script.
80 * regdir: Removed, as Brian wants to keep the test suite in
81 the tar file.
82
832018-08-22 Arnold D. Robbins <arnold@skeeve.com>
84
85 * FIXES, lib.c, run.c, makefile, main.c: Merge from Brian's tree.
86 * REGRESS: New file, from Brian.
87 * awktest.tar: Restored from Brian's tree.
88
892018-08-22 Arnold D. Robbins <arnold@skeeve.com>
90
91 * awkgram.y (UPLUS): New token. In the grammar, call op1()
92 with it.
93 * maketab.c (proc): Add entry for UPLUS.
94 * run.c (arith): Handle UPLUS.
95 * main.c (version): Updated.
96 * bugs-fixed/unary-plus.awk, bugs-fixed/unary-plus.bad,
97 bugs-fixed/unary-plus.ok: New files.
98
992018-08-10 Arnold D. Robbins <arnold@skeeve.com>
100
101 * TODO: Updated.
102 * awk.1: Improve use of macros, add some additional explanation
103 in a few places, alphabetize list of variables.
104
1052018-08-08 Arnold D. Robbins <arnold@skeeve.com>
106
107 * awk.h (Cell): Add new field `fmt' to track xFMT value used
108 for a string conversion.
109 [CONVC, CONVO]: New flag macros.
110 * bugs-fixed/README: Updated.
111 * bugs-fixed/string-conv.awk, bugs-fixed/string-conv.bad,
112 bugs-fixed/string-conv.ok: New files.
113 * main.c (version): Updated.
114 * proto.h (flags2str): Add declaration.
115 * tran.c (setfval): Clear CONVC and CONVO flags and set vp->fmt
116 to NULL.
117 (setsval): Ditto. Add large comment and new code to manage
118 correct conversion of number to string based on various flags
119 and the value of vp->fmt. The idea is to not convert again
120 if xFMT is the same as before and we're doing the same conversion.
121 Otherwise, clear the old flags, set the new, and reconvert.
122 (flags2str): New function. For debug prints and for use from a debugger.
123
1242018-08-05 Arnold D. Robbins <arnold@skeeve.com>
125
126 Fix filename conflicts in regdir where the only difference was
127 in letter case. This caused problems on Windows systems.
128
129 * regdir/Compare.T1: Renamed from regdir/Compare.T.
130 * regdir/t.delete0: Renamed from regdir/t.delete.
131 * regdir/t.getline1: Renamed from regdir/t.getline.
132 * regdir/t.redir1: Renamed from regdir/t.redir.
133 * regdir/t.split1: Renamed from regdir/t.split.
134 * regdir/t.sub0: Renamed from regdir/t.sub.
135 * regdir/REGRESS: Adjusted.
136
1372018-08-04 Arnold D. Robbins <arnold@skeeve.com>
138
139 With scalpel, tweasers, magnifying glass and bated breath,
140 borrow code from the NetBSD version of nawk to fix the years-old
141 bug whereby decrementing the value of NF did not change the
142 record.
143
144 * lib.c (fldbld): Set donerec to 1 when done.
145 (setlastfld): New function.
146 * proto.h (setlastfld): Add declaration.
147 * run.c (copycell): Make code smarter about flags (from NetBSD code).
148 * tran.c (setfree): New function.
149 * tran.c (setfval): Normalize negative zero to positive zero.
150 If setting NF, clear donerec and call setlastfld().
151 (setsval): Remove call to save_old_OFS(). If setting OFS, call
152 recbld(). If setting NF, clear donerec and call setlastfld().
153
154 As part of the process, revert OFS-related changes of 2018-05-22:
155
156 * awk.h (saveOFS, saveOFSlen, save_old_OFS): Remove declarations.
157 * lib.c (recbld): Use *OFS instead of saveOFS.
158 * run.c (saveOFS, saveOFSlen, save_old_OFS): Remove.
159 * tran.c (syminit): Remove initialization of saveOFS and saveOFSlen.
160
161 General stuff that goes along with all this:
162
163 * bugs-fixed/README: Updated.
164 * bugs-fixed/decr-NF.awk, bugs-fixed/decr-NF.bad,
165 bugs-fixed/decr-NF.ok: New files.
166 * main.c (version): Updated.
167 * regdir/README.TESTS: Fix awk book title.
168 * regdir/T.misc: Revise test to match fixed code.
169 * run.c (format): Increase size of buffer used for %a test. (Unrelated
170 to NF or OFS, but fixes a compiler complaint.)
171
1722018-06-07 Arnold D. Robbins <arnold@skeeve.com>
173
174 * regdir/beebe.tar: Fix longwrds.ok so that the test will pass.
175 The file was incorrectly sorted.
176
1772018-06-06 Arnold D. Robbins <arnold@skeeve.com>
178
179 * regdir/T.lilly: Fix the bug again in the second instance
180 of the code. Thanks to BWK for pointing this out.
181
1822018-05-31 Arnold D. Robbins <arnold@skeeve.com>
183
184 * regdir/T.lilly: Fix a syntax error and ordering bug
185 in creating the 'foo' file.
186
1872018-05-23 Arnold D. Robbins <arnold@skeeve.com>
188
189 * awk.1: Remove standalone 'awk' at the top of file, it messed up
190 the formatting. Arrange built-in variable list in alphabetical
191 order.
192
1932018-05-23 Arnold D. Robbins <arnold@skeeve.com>
194
195 * main.c (version): Add my email address and a date so that
196 users can tell this isn't straight BWK awk.
197 * README.md: Minor updates.
198 * TODO: Updated.
199
2002018-05-22 Arnold D. Robbins <arnold@skeeve.com>
201
202 Add POSIX-required formats %a and %A.
203
204 * run.c (format): Check for %a support in C library. If there,
205 allow %a and %A as valid formats.
206 * TODO: Updated.
207 * bugs-fixed/README: Updated.
208 * bugs-fixed/a-format.awk, bugs-fixed/a-format.bad,
209 bugs-fixed/a-format.ok: New files.
210
2112018-05-22 Arnold D. Robbins <arnold@skeeve.com>
212
213 * FIXES: Restored a line from a much earlier version that
214 apparently got lost when the dates were reordered.
215 * TODO: Updated.
216
2172018-05-22 Arnold D. Robbins <arnold@skeeve.com>
218
219 * README.md: New file.
220
2212018-05-22 Arnold D. Robbins <arnold@skeeve.com>
222
223 * regdir/echo.c, regdir/time.c: Minor fixes to compile without
224 warning on current GCC / Linux.
225
2262018-05-22 Arnold D. Robbins <arnold@skeeve.com>
227
228 * TODO: New file.
229
2302018-05-22 Arnold D. Robbins <arnold@skeeve.com>
231
232 * makefile (gitadd, gitpush): Remove these targets. They
233 should not be automated and were incorrect for things that
234 would be done regularly.
235
2362018-05-22 Arnold D. Robbins <arnold@skeeve.com>
237
238 Fix nawk so that [[:blank:]] only matches space and tab instead
239 of any whitespace character, originally made May 10, 2018.
240 See bugs-fixed/space.awk.
241
242 This appears to have been a thinko on Brian's part.
243
244 * b.c (charclasses): Use xisblank() function for [[:blank:]].
245 * bugs-fixed/README: Updated.
246 * bugs-fixed/space.awk, bugs-fixed/space.bad,
247 bugs-fixed/space.ok: New files.
248
2492018-05-22 Arnold D. Robbins <arnold@skeeve.com>
250
251 * .gitignore: New file.
252
2532018-05-22 Arnold D. Robbins <arnold@skeeve.com>
254
255 Fix nawk to provide reasonable exit status for system(),
256 a la gawk, originally made March 12, 2016. See
257 bugs-fixed/system-status.awk.
258
259 * run.c (bltin): For FSYSTEM, use the macros defined for wait(2)
260 to produce a reasonable exit value, instead of doing a floating-point
261 division by 256.
262 * awk.1: Document the return status values.
263 * bugs-fixed/README: Updated.
264 * bugs-fixed/system-status.awk, bugs-fixed/system-status.bad,
265 bugs-fixed/system-status.ok: New files.
266
2672018-05-22 Arnold D. Robbins <arnold@skeeve.com>
268
269 Bug fix with respect to rebuilding a record, originally
270 made August 19, 2014. See bugs-fixed/ofs-rebuild.awk.
271
272 * awk.h (saveOFS, saveOFSlen): Declare new variables.
273 * lib.c (recbld): Use them when rebuilding the record.
274 * run.c (saveOFS, saveOFSlen): Define new variables.
275 (save_old_OFS): New function to save OFS aside.
276 * tran.c (syminit): Initialize saveOFS and saveOFSlen.
277 (setsval): If setting a field, call save_old_OFS().
278 * bugs-fixed/README, bugs-fixed/ofs-rebuild.awk,
279 bugs-fixed/ofs-rebuild.bad, bugs-fixed/ofs-rebuild.ok: New files.
280
2812018-05-22 Arnold D. Robbins <arnold@skeeve.com>
282
283 * makefile (YACC): Use bison.
284
2852018-05-22 Arnold D. Robbins <arnold@skeeve.com>
286
287 * ChangeLog: Created.
288 * regdir: Created. Based on contents of awktest.a.
289 * .gitattributes: Created, to preserve CR LF in regdir/t.crlf.
290 * awktest.a: Removed.
291 * regdir/T.gawk, regdir/T.latin1: Updated from awktest.tar.
292 * awktest.tar: Removed.