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