blob: 1aba4c17854e60e245d444598fced9cde0d0e4a4 [file] [log] [blame]
Arnold D. Robbinsd6c466c2019-06-23 03:13:57 -060012019-06-23 Arnold D. Robbins <arnold@skeeve.com>
2
3 * testdir: Extracted from awktest.tar and added to Git.
4
Arnold D. Robbinsfabf9ef2019-06-06 11:29:20 -060052019-06-06 Arnold D. Robbins <arnold@skeeve.com>
6
7 * awk.1: Fix a typo, minor edits.
8
Arnold D. Robbins28dacbd2019-06-04 23:53:31 -060092019-06-05 Arnold D. Robbins <arnold@skeeve.com>
10
11 * b.c (relex): Count parentheses and treat umatched right paren
12 as a literal character.
13 * awktest.tar (testdir/T.re): Added a test case.
14 * main.c (version): Upated.
15
Arnold D. Robbins4189ef52019-05-29 21:04:18 +0300162019-05-29 Arnold D. Robbins <arnold@skeeve.com>
17
18 * lib.c (isclvar): Remove check for additional '=' after
19 first one. No longer needed.
20
Arnold D. Robbinsf25e8452019-01-26 21:55:03 +0200212019-01-26 Arnold D. Robbins <arnold@skeeve.com>
22
23 * main.c (version): Updated.
24
Arnold D. Robbins9dbd1f12019-01-25 12:56:06 +0200252019-01-25 Arnold D. Robbins <arnold@skeeve.com>
26
27 * run.c (awkgetline): Check for numeric value in all getline
28 variants. See the numeric-getline.* files in bugs-fixed directory.
29
Arnold D. Robbins40c69162018-08-29 21:18:21 +0300302018-08-29 Arnold D. Robbins <arnold@skeeve.com>
31
32 * REGRESS: Check for existence of a.out. If not there, run
33 make. Enable core dumps for T.arnold system status test
34 to work on MacOS X.
35
Arnold D. Robbins32093f52018-08-22 20:40:26 +0300362018-08-22 Arnold D. Robbins <arnold@skeeve.com>
37
38 * awktest.tar (testdir/T.expr): Fix test for unary plus.
39
402018-08-22 Arnold D. Robbins <arnold@skeeve.com>
41
42 * REGRESS: Extract tests if necessary, set PATH to include '.'.
43 * regdir/beebe.tar (Makefile): Fix longwrds test to prefix
44 sort with LC_ALL=C.
45 * awktest.tar: Updated from fixed test suite, directory
46 it extracts is now called 'testdir' to match what's in top-level
47 REGRESS script.
48 * regdir: Removed, as Brian wants to keep the test suite in
49 the tar file.
50
512018-08-22 Arnold D. Robbins <arnold@skeeve.com>
52
53 * FIXES, lib.c, run.c, makefile, main.c: Merge from Brian's tree.
54 * REGRESS: New file, from Brian.
55 * awktest.tar: Restored from Brian's tree.
56
572018-08-22 Arnold D. Robbins <arnold@skeeve.com>
58
59 * awkgram.y (UPLUS): New token. In the grammar, call op1()
60 with it.
61 * maketab.c (proc): Add entry for UPLUS.
62 * run.c (arith): Handle UPLUS.
63 * main.c (version): Updated.
64 * bugs-fixed/unary-plus.awk, bugs-fixed/unary-plus.bad,
65 bugs-fixed/unary-plus.ok: New files.
66
672018-08-10 Arnold D. Robbins <arnold@skeeve.com>
68
69 * TODO: Updated.
70 * awk.1: Improve use of macros, add some additional explanation
71 in a few places, alphabetize list of variables.
72
732018-08-08 Arnold D. Robbins <arnold@skeeve.com>
74
75 * awk.h (Cell): Add new field `fmt' to track xFMT value used
76 for a string conversion.
77 [CONVC, CONVO]: New flag macros.
78 * bugs-fixed/README: Updated.
79 * bugs-fixed/string-conv.awk, bugs-fixed/string-conv.bad,
80 bugs-fixed/string-conv.ok: New files.
81 * main.c (version): Updated.
82 * proto.h (flags2str): Add declaration.
83 * tran.c (setfval): Clear CONVC and CONVO flags and set vp->fmt
84 to NULL.
85 (setsval): Ditto. Add large comment and new code to manage
86 correct conversion of number to string based on various flags
87 and the value of vp->fmt. The idea is to not convert again
88 if xFMT is the same as before and we're doing the same conversion.
89 Otherwise, clear the old flags, set the new, and reconvert.
90 (flags2str): New function. For debug prints and for use from a debugger.
91
922018-08-05 Arnold D. Robbins <arnold@skeeve.com>
93
94 Fix filename conflicts in regdir where the only difference was
95 in letter case. This caused problems on Windows systems.
96
97 * regdir/Compare.T1: Renamed from regdir/Compare.T.
98 * regdir/t.delete0: Renamed from regdir/t.delete.
99 * regdir/t.getline1: Renamed from regdir/t.getline.
100 * regdir/t.redir1: Renamed from regdir/t.redir.
101 * regdir/t.split1: Renamed from regdir/t.split.
102 * regdir/t.sub0: Renamed from regdir/t.sub.
103 * regdir/REGRESS: Adjusted.
104
1052018-08-04 Arnold D. Robbins <arnold@skeeve.com>
106
107 With scalpel, tweasers, magnifying glass and bated breath,
108 borrow code from the NetBSD version of nawk to fix the years-old
109 bug whereby decrementing the value of NF did not change the
110 record.
111
112 * lib.c (fldbld): Set donerec to 1 when done.
113 (setlastfld): New function.
114 * proto.h (setlastfld): Add declaration.
115 * run.c (copycell): Make code smarter about flags (from NetBSD code).
116 * tran.c (setfree): New function.
117 * tran.c (setfval): Normalize negative zero to positive zero.
118 If setting NF, clear donerec and call setlastfld().
119 (setsval): Remove call to save_old_OFS(). If setting OFS, call
120 recbld(). If setting NF, clear donerec and call setlastfld().
121
122 As part of the process, revert OFS-related changes of 2018-05-22:
123
124 * awk.h (saveOFS, saveOFSlen, save_old_OFS): Remove declarations.
125 * lib.c (recbld): Use *OFS instead of saveOFS.
126 * run.c (saveOFS, saveOFSlen, save_old_OFS): Remove.
127 * tran.c (syminit): Remove initialization of saveOFS and saveOFSlen.
128
129 General stuff that goes along with all this:
130
131 * bugs-fixed/README: Updated.
132 * bugs-fixed/decr-NF.awk, bugs-fixed/decr-NF.bad,
133 bugs-fixed/decr-NF.ok: New files.
134 * main.c (version): Updated.
135 * regdir/README.TESTS: Fix awk book title.
136 * regdir/T.misc: Revise test to match fixed code.
137 * run.c (format): Increase size of buffer used for %a test. (Unrelated
138 to NF or OFS, but fixes a compiler complaint.)
139
1402018-06-07 Arnold D. Robbins <arnold@skeeve.com>
141
142 * regdir/beebe.tar: Fix longwrds.ok so that the test will pass.
143 The file was incorrectly sorted.
144
1452018-06-06 Arnold D. Robbins <arnold@skeeve.com>
146
147 * regdir/T.lilly: Fix the bug again in the second instance
148 of the code. Thanks to BWK for pointing this out.
149
1502018-05-31 Arnold D. Robbins <arnold@skeeve.com>
151
152 * regdir/T.lilly: Fix a syntax error and ordering bug
153 in creating the 'foo' file.
154
1552018-05-23 Arnold D. Robbins <arnold@skeeve.com>
156
157 * awk.1: Remove standalone 'awk' at the top of file, it messed up
158 the formatting. Arrange built-in variable list in alphabetical
159 order.
160
1612018-05-23 Arnold D. Robbins <arnold@skeeve.com>
162
163 * main.c (version): Add my email address and a date so that
164 users can tell this isn't straight BWK awk.
165 * README.md: Minor updates.
166 * TODO: Updated.
167
1682018-05-22 Arnold D. Robbins <arnold@skeeve.com>
169
170 Add POSIX-required formats %a and %A.
171
172 * run.c (format): Check for %a support in C library. If there,
173 allow %a and %A as valid formats.
174 * TODO: Updated.
175 * bugs-fixed/README: Updated.
176 * bugs-fixed/a-format.awk, bugs-fixed/a-format.bad,
177 bugs-fixed/a-format.ok: New files.
178
1792018-05-22 Arnold D. Robbins <arnold@skeeve.com>
180
181 * FIXES: Restored a line from a much earlier version that
182 apparently got lost when the dates were reordered.
183 * TODO: Updated.
184
1852018-05-22 Arnold D. Robbins <arnold@skeeve.com>
186
187 * README.md: New file.
188
1892018-05-22 Arnold D. Robbins <arnold@skeeve.com>
190
191 * regdir/echo.c, regdir/time.c: Minor fixes to compile without
192 warning on current GCC / Linux.
193
1942018-05-22 Arnold D. Robbins <arnold@skeeve.com>
195
196 * TODO: New file.
197
1982018-05-22 Arnold D. Robbins <arnold@skeeve.com>
199
200 * makefile (gitadd, gitpush): Remove these targets. They
201 should not be automated and were incorrect for things that
202 would be done regularly.
203
2042018-05-22 Arnold D. Robbins <arnold@skeeve.com>
205
206 Fix nawk so that [[:blank:]] only matches space and tab instead
207 of any whitespace character, originally made May 10, 2018.
208 See bugs-fixed/space.awk.
209
210 This appears to have been a thinko on Brian's part.
211
212 * b.c (charclasses): Use xisblank() function for [[:blank:]].
213 * bugs-fixed/README: Updated.
214 * bugs-fixed/space.awk, bugs-fixed/space.bad,
215 bugs-fixed/space.ok: New files.
216
2172018-05-22 Arnold D. Robbins <arnold@skeeve.com>
218
219 * .gitignore: New file.
220
2212018-05-22 Arnold D. Robbins <arnold@skeeve.com>
222
223 Fix nawk to provide reasonable exit status for system(),
224 a la gawk, originally made March 12, 2016. See
225 bugs-fixed/system-status.awk.
226
227 * run.c (bltin): For FSYSTEM, use the macros defined for wait(2)
228 to produce a reasonable exit value, instead of doing a floating-point
229 division by 256.
230 * awk.1: Document the return status values.
231 * bugs-fixed/README: Updated.
232 * bugs-fixed/system-status.awk, bugs-fixed/system-status.bad,
233 bugs-fixed/system-status.ok: New files.
234
2352018-05-22 Arnold D. Robbins <arnold@skeeve.com>
236
237 Bug fix with respect to rebuilding a record, originally
238 made August 19, 2014. See bugs-fixed/ofs-rebuild.awk.
239
240 * awk.h (saveOFS, saveOFSlen): Declare new variables.
241 * lib.c (recbld): Use them when rebuilding the record.
242 * run.c (saveOFS, saveOFSlen): Define new variables.
243 (save_old_OFS): New function to save OFS aside.
244 * tran.c (syminit): Initialize saveOFS and saveOFSlen.
245 (setsval): If setting a field, call save_old_OFS().
246 * bugs-fixed/README, bugs-fixed/ofs-rebuild.awk,
247 bugs-fixed/ofs-rebuild.bad, bugs-fixed/ofs-rebuild.ok: New files.
248
2492018-05-22 Arnold D. Robbins <arnold@skeeve.com>
250
251 * makefile (YACC): Use bison.
252
2532018-05-22 Arnold D. Robbins <arnold@skeeve.com>
254
255 * ChangeLog: Created.
256 * regdir: Created. Based on contents of awktest.a.
257 * .gitattributes: Created, to preserve CR LF in regdir/t.crlf.
258 * awktest.a: Removed.
259 * regdir/T.gawk, regdir/T.latin1: Updated from awktest.tar.
260 * awktest.tar: Removed.