1 | 2006-02-03 Paolo Bonzini <bonzini@gnu.org>
|
---|
2 |
|
---|
3 | * sed/compile.c (compile_program) <case 'y'>: Pass false to match_slash.
|
---|
4 |
|
---|
5 | 2005-09-07 Paolo Bonzini <bonzini@gnu.org>
|
---|
6 |
|
---|
7 | * lib/regcomp.c: Update from upstream.
|
---|
8 | * lib/regex.c: Update from upstream.
|
---|
9 | * lib/regex_.h: Update from upstream.
|
---|
10 | * lib/regex_internal.c: Update from upstream.
|
---|
11 | * lib/regex_internal.h: Update from upstream.
|
---|
12 | * lib/regexec.c: Update from upstream.
|
---|
13 |
|
---|
14 | 2005-08-30 Paolo Bonzini <bonzini@gnu.org>
|
---|
15 |
|
---|
16 | * sed/execute.c (reset_addresses): Never activate ADDR_IS_NUM_MOD
|
---|
17 | addresses.
|
---|
18 | * testsuite/modulo.good, testsuite/modulo.inp, testsuite/modulo.sed:
|
---|
19 | New.
|
---|
20 | * testsuite/Makefile.tests: Add new testcase.
|
---|
21 | * testsuite/Makefile.am: Add new testcase.
|
---|
22 | * testsuite/Makefile.in: Regenerate.
|
---|
23 |
|
---|
24 | 2005-05-18 Maciej W. Rozycki <macro@linux-mips.org>
|
---|
25 |
|
---|
26 | * configure.ac: Use a cache variable for the libcP test.
|
---|
27 | * configure: Regenerate.
|
---|
28 |
|
---|
29 | 2005-05-16 Eero Hakkinen <eero17@bigfoot.com>
|
---|
30 |
|
---|
31 | * sed/compile.c (snarf_char_class): Fix handling of
|
---|
32 | [^]xyz].
|
---|
33 |
|
---|
34 | 2005-04-04 Paolo Bonzini <bonzini@gnu.org>
|
---|
35 |
|
---|
36 | * sed/execute.c (process_files): Do not add a default
|
---|
37 | command-line in in-place editing mode.
|
---|
38 |
|
---|
39 | 2005-02-10 Paolo Bonzini <bonzini@gnu.org>
|
---|
40 |
|
---|
41 | * testsuite/Makefile.tests: Add new testcase.
|
---|
42 | * testsuite/Makefile.am: Add new testcase.
|
---|
43 | * testsuite/Makefile.in: Regenerate.
|
---|
44 | * testsuite/appquit.good, testsuite/appquit.inp,
|
---|
45 | testsuite/appquit.sed: New testcase.
|
---|
46 | * testsuite/readin.sed: Quit after the last r command.
|
---|
47 | * testsuite/readin.good: Adjust.
|
---|
48 | * sed/execute.c (execute_program): Dump the results of the
|
---|
49 | a/r/R commands just before quitting.
|
---|
50 |
|
---|
51 | 2005-02-10 Paolo Bonzini <bonzini@gnu.org>
|
---|
52 |
|
---|
53 | * sed/regexp.c: Fix off-by-one error in the "invalid reference
|
---|
54 | to subexpression" message. Debian bug 294339.
|
---|
55 |
|
---|
56 | 2005-02-08 Paolo Bonzini <bonzini@gnu.org>
|
---|
57 |
|
---|
58 | * lib/obstack.h: include config.h.
|
---|
59 |
|
---|
60 | 2005-02-01 Paolo Bonzini <bonzini@gnu.org>
|
---|
61 |
|
---|
62 | * doc/Makefile.am: Don't enable MAKEINFO_HTML and TEXI2HTML_HTML
|
---|
63 | rules unless BUILD_HTML.
|
---|
64 |
|
---|
65 | 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
|
---|
66 |
|
---|
67 | * sed/regexp.c: Fix building on GCC 2.95 and earlier.
|
---|
68 |
|
---|
69 | 2004-12-26 Paolo Bonzini <bonzini@gnu.org>
|
---|
70 |
|
---|
71 | Do not use leftmost-longest matching for addresses.
|
---|
72 |
|
---|
73 | * NEWS: Add a note about this.
|
---|
74 | * testsuite/recall2.good, testsuite/recall2.inp,
|
---|
75 | testsuite/recall2.sed: New test.
|
---|
76 | * testsuite/Makefile.am, testsuite/Makefile.tests: Add the
|
---|
77 | recall2 test.
|
---|
78 | * sed/sed.h (struct regex): New.
|
---|
79 | (struct addr, struct subst, compile_regex, match_regex,
|
---|
80 | release_regex): Use it instead of regex_t.
|
---|
81 | * sed/compile.c (compile_program): Update for new meaning of
|
---|
82 | the third parameter of compile_regex.
|
---|
83 | * sed/execute.c (do_subst): Pass less conservative value to
|
---|
84 | the regsize parameter of match_regex.
|
---|
85 | * sed/regexp.c (compile_regex_1): New, extracted out of
|
---|
86 | compile_regex. The third parameter, needed_sub, now includes
|
---|
87 | \0 (so 10 means that \0 .. \9 are needed). Pass RE_NO_SUB
|
---|
88 | if needed_sub is zero.
|
---|
89 | (compile_regex): Accept a struct regex instead of a regex_t.
|
---|
90 | Save the regular expression's text.
|
---|
91 | (match_regex): Accept a struct regex instead of a regex_t.
|
---|
92 | Recompile the pattern if it was compiled with RE_NO_SUB.
|
---|
93 | (release_regex): Accept a struct regex instead of a regex_t.
|
---|
94 |
|
---|
95 | * doc/Makefile.am: Generate sed.texi correctly when
|
---|
96 | building outside srcdir.
|
---|
97 |
|
---|
98 | 2004-12-26 Paolo Bonzini <bonzini@gnu.org>
|
---|
99 |
|
---|
100 | * BUGS: Add section about [a-z] matching uppercase characters,
|
---|
101 | and other locale issues.
|
---|
102 | * doc/sed-in.texi [!PERL]: Likewise.
|
---|
103 |
|
---|
104 | 2004-11-15 Paolo Bonzini <bonzini@gnu.org>
|
---|
105 |
|
---|
106 | * sed/execute.c (str_append_modified): Copy the first character
|
---|
107 | when using \l or \u in a multi-byte configuration. Use
|
---|
108 | WCRTOMB instead of wcrtomb.
|
---|
109 | * sed/sed.h (WCRTOMB): New.
|
---|
110 |
|
---|
111 | 2004-11-11 Paolo Bonzini <bonzini@gnu.org>
|
---|
112 |
|
---|
113 | * tst-rxspecer.c: Do not mix instructions and
|
---|
114 | declarations.
|
---|
115 | * basicdefs.h: Include locale.h before #defining
|
---|
116 | gettext, to avoid breakage under Solaris.
|
---|
117 | * sed/sed.c: do not include locale.h.
|
---|
118 |
|
---|
119 | 2004-11-03 Paolo Bonzini <bonzini@gnu.org>
|
---|
120 |
|
---|
121 | * bug-regex11.c: Improve portability.
|
---|
122 | * bug-regex12.c: Improve portability.
|
---|
123 | * bug-regex13.c: Improve portability.
|
---|
124 | * bug-regex14.c: Improve portability.
|
---|
125 | * bug-regex21.c: Improve portability.
|
---|
126 | * bug-regex9.c: Improve portability.
|
---|
127 | * tst-boost.c: Improve portability.
|
---|
128 | * tst-pcre.c: Improve portability.
|
---|
129 | * tst-regex.c: Improve portability.
|
---|
130 | * tst-rxspencer.c: Improve portability.
|
---|
131 |
|
---|
132 | 2004-10-08 Paolo Bonzini <bonzini@gnu.org>
|
---|
133 |
|
---|
134 | * lib/utils.c (utils_id_s): Renamed to open_files.
|
---|
135 | (struct id): Renamed to struct open_file.
|
---|
136 |
|
---|
137 | 2004-10-08 Jakub Jelinek <jakub@redhat.com>
|
---|
138 |
|
---|
139 | * testsuite/Makefile.tests (bug-regex*, run-tests,
|
---|
140 | run-ptests): Use $(SED).
|
---|
141 | (version): Likewise; prepend $(SED) invocation with $(SEDENV).
|
---|
142 |
|
---|
143 | 2004-08-16 Paolo Bonzini <bonzini@gnu.org>
|
---|
144 |
|
---|
145 | *** Version 4.1.2 released.
|
---|
146 |
|
---|
147 | 2004-08-06 Paolo Bonzini <bonzini@gnu.org>
|
---|
148 |
|
---|
149 | * sed/compile.c (bad_command): Fix off-by-one error.
|
---|
150 | (snarf_char_class): Fix problem with [.....[] (i.e.
|
---|
151 | last char in class is a bracket.
|
---|
152 |
|
---|
153 | 2004-06-30 Paolo Bonzini <bonzini@gnu.org>
|
---|
154 |
|
---|
155 | *** Version 4.1.1 released.
|
---|
156 |
|
---|
157 | 2004-06-29 Paolo Bonzini <bonzini@gnu.org>
|
---|
158 |
|
---|
159 | * sed/compile.c (mark_subst_opts): Return int.
|
---|
160 | * sed/execute.c (open_next_file): Fix uninitialized
|
---|
161 | variable.
|
---|
162 |
|
---|
163 | 2004-06-10 Paolo Bonzini <bonzini@gnu.org>
|
---|
164 |
|
---|
165 | *** Version 4.1 released.
|
---|
166 |
|
---|
167 | 2004-03-25 Paolo Bonzini <bonzini@gnu.org>
|
---|
168 |
|
---|
169 | * lib/obstack.h: Get current version.
|
---|
170 |
|
---|
171 | 2004-03-13 Paolo Bonzini <bonzini@gnu.org>
|
---|
172 |
|
---|
173 | Exit as soon as possible on an I/O error, and with
|
---|
174 | a better error message.
|
---|
175 |
|
---|
176 | * lib/utils.c (ck_mkstemp, ck_rename, ck_getline): New
|
---|
177 | functions. Save temporary files into utils_id_s.
|
---|
178 | (struct id): Add a field named temp.
|
---|
179 | (ck_fopen): Init the new temp field of struct id.
|
---|
180 | (panic): Unlink temporary files before exiting.
|
---|
181 | * sed/execute.c (read_file_line): Use ck_getline.
|
---|
182 | (closedown): Use ck_rename.
|
---|
183 | (open_next_file): Use ck_mkstemp.
|
---|
184 |
|
---|
185 | 2004-01-20 Paolo Bonzini <bonzini@gnu.org>
|
---|
186 |
|
---|
187 | * sed/sed.h (enum addr_state): New definition.
|
---|
188 | (enum addr_type): Remove ADDR_IS_NUM2.
|
---|
189 | (struct sed_cmd): Replace a1_matched with range_state.
|
---|
190 | * sed/compile.c (next_cmd_entry): Use range_state.
|
---|
191 | (compile_program): Death to ADDR_IS_NUM2. Compile
|
---|
192 | N,Mp as Np if N>=M.
|
---|
193 | * sed/execute.c (match_address_p): Rewritten. Handle
|
---|
194 | ADDR_IS_NUM here.
|
---|
195 | (match_an_address_p): Suit to new match_address_p.
|
---|
196 | (execute_program): Adjust to use range_state in `c'.
|
---|
197 | Handle addr_bang here.
|
---|
198 | (reset_addresses): Use range_state.
|
---|
199 |
|
---|
200 | (struct input): New field "reset_at_next_file".
|
---|
201 | (read_pattern_space): Use it instead of "separate_files".
|
---|
202 | (process_files): Initialize it.
|
---|
203 |
|
---|
204 | 2004-01-17 Paolo Bonzini <bonzini@gnu.org>
|
---|
205 |
|
---|
206 | * sed/sed.h: Do not include wchar.h and wctype.h, and do
|
---|
207 | not include the alloca stuff.
|
---|
208 | * basicdefs.h: Move all that here.
|
---|
209 |
|
---|
210 | 2004-01-15 Paolo Bonzini <bonzini@gnu.org>
|
---|
211 |
|
---|
212 | * sed/regexp.c [REG_PERL]: Use REG_STARTEND instead of regexec2.
|
---|
213 |
|
---|
214 | 2004-01-09 Paul Eggert <eggert@twinsun.com>
|
---|
215 | Paolo Bonzini <bonzini@gnu.org>
|
---|
216 |
|
---|
217 | * sed/sed.h (posixicity): New variable, replaces POSIXLY_CORRECT.
|
---|
218 | * sed/sed.c (main): Set it.
|
---|
219 | * sed/compile.c: Use it instead of POSIXLY_CORRECT.
|
---|
220 | * sed/execute.c: Use it instead of POSIXLY_CORRECT.
|
---|
221 | * doc/sed-in.texi: Document it and --posix.
|
---|
222 |
|
---|
223 | 2004-01-05 Paul Eggert <eggert@twinsun.com>
|
---|
224 | Paolo Bonzini <bonzini@gnu.org>
|
---|
225 |
|
---|
226 | * NEWS: Fix [\n] to match either backslash or n in POSIXLY_CORRECT mode.
|
---|
227 | * doc/sed-in.texi: Document this. Also, document regular expressions
|
---|
228 | a bit better overall, using terminology that's more similar to POSIX.
|
---|
229 | * sed/sed.h (enum text_types): New definition.
|
---|
230 | * sed/compile.c (normalize_text): Replace final parameter with one of
|
---|
231 | type normalize_text. If TEXT_REGEX and in POSIXLY_CORRECT mode,
|
---|
232 | grok character classes without replacing \n inside them.
|
---|
233 |
|
---|
234 | 2004-01-03 Paolo Bonzini <bonzini@gnu.org>
|
---|
235 |
|
---|
236 | * sed/execute.c (execute_program): print final line
|
---|
237 | after executing N, if not POSIXLY_CORRECT.
|
---|
238 |
|
---|
239 | 2003-12-28 Paolo Bonzini <bonzini@gnu.org>
|
---|
240 |
|
---|
241 | * sed/compile.c: fix "\\\n" in RHS of s command.
|
---|
242 | Reported by Mike Castle.
|
---|
243 | * testsuite/bkslashes.inp, testsuite/bkslashes.good,
|
---|
244 | testsuite/bkslashes.sed: New files.
|
---|
245 | * testsuite/Makefile.am, testsuite/Makefile.tests: Add
|
---|
246 | the bkslashes test.
|
---|
247 |
|
---|
248 | 2003-12-16 Paolo Bonzini <bonzini@gnu.org>
|
---|
249 |
|
---|
250 | *** Version 4.0b released.
|
---|
251 |
|
---|
252 | * sed/mbcs.c: New file.
|
---|
253 | * sed/sed.h: Declare macros for mbcs.c.
|
---|
254 | * sed/compile.c: Use them.
|
---|
255 | (brlen): Moved to mbcs.c.
|
---|
256 | * sed/execute.c: Use them.
|
---|
257 | * sed/sed.c: call initialize_mbcs ().
|
---|
258 |
|
---|
259 | 2003-12-14 Paolo Bonzini <bonzini@gnu.org>
|
---|
260 |
|
---|
261 | * sed/regex.c (match_regex): fix memory leak.
|
---|
262 |
|
---|
263 | 2003-11-27 Paolo Bonzini <bonzini@gnu.org>
|
---|
264 |
|
---|
265 | * sed/execute.c (reset_addresses): leave addresses 0
|
---|
266 | and 0~STEP enabled.
|
---|
267 |
|
---|
268 | 2003-11-15 Jakub Jelinek <jakub@redhat.com>
|
---|
269 |
|
---|
270 | * sed/regex.c: Use fastmap.
|
---|
271 |
|
---|
272 | 2003-09-21 Paolo Bonzini <bonzini@gnu.org>
|
---|
273 |
|
---|
274 | *** Version 4.0a released.
|
---|
275 |
|
---|
276 | * sed/execute.c (struct line): Add mbstate field.
|
---|
277 | (str_append): Keep mbstate up to date.
|
---|
278 | (str_append_modified): Likewise, and use towupper/towlower.
|
---|
279 | (line_init): Initialize mbstate.
|
---|
280 | (line_copy): Copy mbstate.
|
---|
281 | (line_append): Copy mbstate.
|
---|
282 |
|
---|
283 | 2003-07-15 Stepan Kasal <kasal@ucw.cz>
|
---|
284 | Paolo Bonzini <bonzini@fnu.org>
|
---|
285 |
|
---|
286 | Change the way we treat lines which are not terminated by a newline.
|
---|
287 | Such lines are printed without the terminating newline (as before)
|
---|
288 | but as soon as more text is sent to the same output stream, the
|
---|
289 | missing newline is printed, so that the two lines don't concatenate.
|
---|
290 |
|
---|
291 | * sed/execute.c (output_file): Is now struct output; users adjusted
|
---|
292 | to access the fp field, call output_missing_newline before, and
|
---|
293 | call flush_output afterwards.
|
---|
294 | (read_file_line): Set line.chomped FALSE each time we encounter a
|
---|
295 | line without the newline terminator, no matter whether this is the
|
---|
296 | last input file or not, and no matter whether we are in
|
---|
297 | POSIXLY_CORRECT mode or not.
|
---|
298 | (output_missing_newline): New function which prints the suppressed
|
---|
299 | newline, if necessary.
|
---|
300 | (flush_output): New function for a common pattern.
|
---|
301 | (output_line): Use struct output, set its flag accordingly.
|
---|
302 | (dump_append_queue): Use `ck_fwrite' instead of output_line.
|
---|
303 | (do_list): Flush the output stream at the end.
|
---|
304 | (closedown): The code ``if(separate_files) rewind_read_files();''
|
---|
305 | (read_pattern_space): ... has been moved here.
|
---|
306 | (process_files): Don't do the default `p' at the end, ...
|
---|
307 | (execute_program): ... as this function is now responsible for it;
|
---|
308 | add the code to the end of the function and to the command `q';
|
---|
309 | the commands `d', `D' and `Q' thus no longer have to forge an empty
|
---|
310 | line.
|
---|
311 | (execute_program): Commands `c' and `i' no longer call the
|
---|
312 | function output_line with chomped==FALSE; instead, they chomp
|
---|
313 | the text and call the function with chomped==TRUE.
|
---|
314 | (execute_program): Command `e' no longer uses output_line; it
|
---|
315 | calls ck_fwrite directly. Commands `e', `L' and `=' flush
|
---|
316 | the output stream at the end.
|
---|
317 | * sed/compile.c (special_files): Use `struct output' instead of the
|
---|
318 | file name.
|
---|
319 | (get_openfile): ... special files are no longer copied to file_read
|
---|
320 | or file_write.
|
---|
321 | (fp_list): Move to sed.h (users adjusted) and rename as...
|
---|
322 | * sed/sed.h (struct output): ...this. New flag missing_newline
|
---|
323 | associated to the output stream.
|
---|
324 | (struct sed_cmd, struct subst): Use `struct output *' instead of mere
|
---|
325 | `FILE *'; adjust compile.c and execute.c.
|
---|
326 | * testsuite/noeolw.sed, testsuite/noeolw.good, testsuite/noeolw.1good,
|
---|
327 | testsuite/noeolw.2good: New tests
|
---|
328 |
|
---|
329 | 2003-07-15 Stepan Kasal <kasal@ucw.cz>
|
---|
330 |
|
---|
331 | * lib/utils.h, sed/sed.h: #include "basicdefs.h",
|
---|
332 | don't include it from various *.c files.
|
---|
333 | * sed/regex.c: Don't include regex.h as it's included via sed.h.
|
---|
334 |
|
---|
335 | 2003-06-11 Paolo Bonzini <bonzini@gnu.org>
|
---|
336 |
|
---|
337 | * lib/getline.c: Don't realloc with first param = NULL.
|
---|
338 |
|
---|
339 | 2003-05-07 Paolo Bonzini <bonzini@gnu.org>
|
---|
340 |
|
---|
341 | * sed/execute.c: Make treatment of ADDR_IS_NUM_MOD
|
---|
342 | simpler, and fix bugs in 0~5,+1
|
---|
343 | * sed/compile.c: Complain about addresses like 0
|
---|
344 | and 0,3 which are sources of misunderstandings.
|
---|
345 | Reported by Akim Demaille <akim@epita.fr>
|
---|
346 |
|
---|
347 | 2003-03-25 Paolo Bonzini <bonzini@gnu.org>
|
---|
348 |
|
---|
349 | *** Version 4.0.7 released
|
---|
350 |
|
---|
351 | * sed/execute.c (append_replacement): Extract from
|
---|
352 | do_subst
|
---|
353 | (do_subst): Don't update count when a match was
|
---|
354 | skipped.
|
---|
355 | * testsuite/xbxcx3.good, testsuite/xbxcx3.sed,
|
---|
356 | testsuite/xbxcx3.inp: Regression tests
|
---|
357 |
|
---|
358 | 2003-03-23 Paolo Bonzini <bonzini@gnu.org>
|
---|
359 |
|
---|
360 | * sed/execute.c (do_subst): Fix several bugs with
|
---|
361 | numbered matches
|
---|
362 | * testsuite/numsub2.good, testsuite/numsub2.inp,
|
---|
363 | testsuite/numsub2.sed, testsuite/numsub3.good,
|
---|
364 | testsuite/numsub3.inp, testsuite/numsub3.sed,
|
---|
365 | testsuite/numsub4.good, testsuite/numsub4.inp,
|
---|
366 | testsuite/numsub4.sed, testsuite/numsub5.good,
|
---|
367 | testsuite/numsub5.inp, testsuite/numsub5.sed:
|
---|
368 | regression tests for the bugs
|
---|
369 |
|
---|
370 | 2003-03-15 Paolo Bonzini <bonzini@gnu.org>
|
---|
371 |
|
---|
372 | *** Version 4.0.6 released
|
---|
373 |
|
---|
374 | * lib/mkstemp.c: Include sys/file.h if available for the
|
---|
375 | benefit of Ultrix
|
---|
376 |
|
---|
377 | 2003-03-14 Paolo Bonzini <bonzini@gnu.org>
|
---|
378 |
|
---|
379 | * sed/compile.c: Replace flagT with bool
|
---|
380 | * sed/execute.c: Replace flagT with bool
|
---|
381 | * sed/fmt.c: Replace flagT with bool
|
---|
382 | * sed/sed.c: Replace flagT with bool
|
---|
383 | * sed/regex.c: Replace flagT with bool
|
---|
384 |
|
---|
385 | 2003-03-13 Paolo Bonzini <bonzini@gnu.org>
|
---|
386 |
|
---|
387 | * sed/compile.c (compile_program): Understand parameter
|
---|
388 | of `v'.
|
---|
389 |
|
---|
390 | * sed/sed.c (usage): Split help message into multiple
|
---|
391 | strings
|
---|
392 | (main): Don't understand -h and -V
|
---|
393 |
|
---|
394 | 2003-03-12 Paolo Bonzini <bonzini@gnu.org>
|
---|
395 |
|
---|
396 | * sed/compile.c (match_slash, snarf_char_class): More
|
---|
397 | multibyte character support
|
---|
398 | (brlen): New function
|
---|
399 | * testsuite/classes.good, testsuite/classes.inp,
|
---|
400 | testsuite/classes.sed: New files
|
---|
401 |
|
---|
402 | 2003-03-10 Paolo Bonzini <bonzini@gnu.org>
|
---|
403 |
|
---|
404 | * sed/compile.c (match_slash): Strip the \ in front of
|
---|
405 | slashes (so that the matcher sees x/ for s/x\///). Don't
|
---|
406 | match / and [ unless at the start of a character.
|
---|
407 |
|
---|
408 | 2003-02-18 Paolo Bonzini <bonzini@gnu.org>
|
---|
409 |
|
---|
410 | * sed/regex.c (compile_regex): // matches the last regular
|
---|
411 | expression even in POSIXLY_CORRECT mode.
|
---|
412 | * sed/compile.c (normalize_text): Treat multibyte character
|
---|
413 | sets correctly
|
---|
414 | (read_text): Don't swallow backslash sequences, run text
|
---|
415 | through normalize_text
|
---|
416 | (compile_program): Ditto for y command
|
---|
417 |
|
---|
418 | * sed/compile.c (normalize_text): Add parameter that says
|
---|
419 | whether the text will be processed further to remove more
|
---|
420 | backslash escapes. Callers adjusted
|
---|
421 | (match_slash): Remove same parameter from here. Callers adjusted.
|
---|
422 |
|
---|
423 | 2003-02-15 Paolo Bonzini <bonzini@gnu.org>
|
---|
424 |
|
---|
425 | * sed/sed.h: Fix prototype for match_regex, declare re_registers
|
---|
426 | if REG_PERL
|
---|
427 | * sed/execute.c (do_subst): Use re_registers
|
---|
428 | * sed/regex.c (copy_regs): New function
|
---|
429 | [REG_PERL]: Use re_registers
|
---|
430 | [!REG_PERL]: Avoid using internal entry points, support pre-glibc
|
---|
431 | 2.3 regex for the sake of --without-included-regex.
|
---|
432 |
|
---|
433 | 2003-01-04 Paolo Bonzini <bonzini@gnu.org>
|
---|
434 |
|
---|
435 | * sed/sed.h: Move some stuff from here...
|
---|
436 | * sed/basicdefs.h: ...to here
|
---|
437 | * lib/utils.c (ck_fopen): Add FAIL parameter
|
---|
438 | * lib/utils.h: Adjust parameter
|
---|
439 | * sed/compile.c, sed/execute.c, sed/sed.c: Adjust callers
|
---|
440 |
|
---|
441 | * sed/basicdefs.h: Add TRUE/FALSE
|
---|
442 | * sed/compile.c, sed/execute.c, sed/sed.c: Use them
|
---|
443 | * sed/fmt.c: Do not redefine them
|
---|
444 |
|
---|
445 | 2003-01-02 Paolo Bonzini <bonzini@gnu.org>
|
---|
446 |
|
---|
447 | * sed/sed.c: Bump copyright year
|
---|
448 |
|
---|
449 | 2002-12-24 Paolo Bonzini <bonzini@gnu.org>
|
---|
450 |
|
---|
451 | * sed/sed.c: Use bindtextdomain
|
---|
452 | * sed/basicdefs.h [__EMX__]: Define initialize_main
|
---|
453 | * lib/getline.c [__EMX__]: Strip trailing CR
|
---|
454 |
|
---|
455 | * sed/regex.c: Don't use N_ on the lines that define
|
---|
456 | error messages, some compilers complain.
|
---|
457 |
|
---|
458 | 2002-12-18 Paolo Bonzini <bonzini@gnu.org>
|
---|
459 |
|
---|
460 | *** Version 4.0.5 released
|
---|
461 |
|
---|
462 | * sed/compile.c: Don't use N_ on the lines that define
|
---|
463 | error messages, some compilers complain.
|
---|
464 |
|
---|
465 | 2002-12-16 Paolo Bonzini <bonzini@gnu.org>
|
---|
466 |
|
---|
467 | * sed/compile.c: Improvements to some error messages;
|
---|
468 | `a', `i', `l', `L', `r' accept two addresses except in
|
---|
469 | POSIXLY_CORRECT mode.
|
---|
470 |
|
---|
471 | 2002-12-14 Paolo Bonzini <bonzini@gnu.org>
|
---|
472 |
|
---|
473 | * lib/regex_internal.c: Fix problem on non-glibc
|
---|
474 | systems, from Jakub Jelinek
|
---|
475 | * lib/regex.c (RE_ENABLE_I18N): Conditionalize on
|
---|
476 | HAVE_MBRTOWC and HAVE_WCRTOMB.
|
---|
477 | * lib/getline.c: Fix compilation on non-glibc system
|
---|
478 | * lib/snprintf.c: Fix compilation on non-glibc system
|
---|
479 | * lib/basicdefs.h [P_]: Make more portable
|
---|
480 |
|
---|
481 | 2002-12-12 Paolo Bonzini <bonzini@gnu.org>
|
---|
482 |
|
---|
483 | *** Version 4.0.4 released
|
---|
484 |
|
---|
485 | 2002-11-21 Paolo Bonzini <bonzini@gnu.org>
|
---|
486 |
|
---|
487 | *** Version 4.0.3 released
|
---|
488 |
|
---|
489 | 2002-11-19 Paolo Bonzini <bonzini@gnu.org>
|
---|
490 |
|
---|
491 | *** Version 4.0.2 released
|
---|
492 |
|
---|
493 | 2002-11-05 Paolo Bonzini <bonzini@gnu.org>
|
---|
494 |
|
---|
495 | *** Version 4.0.1 released
|
---|
496 |
|
---|
497 | 2002-10-23 Paolo Bonzini <bonzini@gnu.org>
|
---|
498 |
|
---|
499 | *** Version 4.0 released
|
---|
500 |
|
---|
501 | 2002-10-28 Paolo Bonzini <bonzini@gnu.org>
|
---|
502 |
|
---|
503 | * lib/utils.c: Don't fail for EBADF in fflush
|
---|
504 | * src/sed.c: the_program is now a global
|
---|
505 |
|
---|
506 | 2002-10-19 Paolo Bonzini <bonzini@gnu.org>
|
---|
507 |
|
---|
508 | * src/sed.c: Print GNU sed in --version for GNU sed,
|
---|
509 | and super-sed for super-sed (thanks to Bruno Haible)
|
---|
510 |
|
---|
511 | 2002-10-17 Paolo Bonzini <bonzini@gnu.org>
|
---|
512 |
|
---|
513 | *** Version 3.96 released
|
---|
514 |
|
---|
515 | 2002-10-16 Isamu Hasegawa <isamu@yamato.ibm.com>
|
---|
516 |
|
---|
517 | * src/execute.c (execute_program): Multibyte 'y'
|
---|
518 | * src/compile.c (compile_program): Likewise
|
---|
519 | * src/sed.h: Likewise
|
---|
520 |
|
---|
521 | 2002-10-08 Paolo Bonzini <bonzini@gnu.org>
|
---|
522 |
|
---|
523 | *** Version 3.95 released
|
---|
524 |
|
---|
525 | 2002-07-15 Paolo Bonzini <bonzini@gnu.org>
|
---|
526 |
|
---|
527 | * src/sed.h: rfile --> fname, wfile --> fp
|
---|
528 | * src/compile.c (compile_command): Parse 'R' like 'w', use
|
---|
529 | separate lists for file read and file write
|
---|
530 | * src/compile.c (get_openfile): New name of get_writefile
|
---|
531 | * src/compile.c (rewind_read_files): New function
|
---|
532 | * src/sed.h: Declared here
|
---|
533 | * src/execute.c (closedown): And called here
|
---|
534 | * src/execute.c (append_queue): Added 'free' field
|
---|
535 | * src/execute.c (execute_program): Implement 'R'
|
---|
536 |
|
---|
537 | 2002-06-09 Paolo Bonzini <bonzini@gnu.org>
|
---|
538 |
|
---|
539 | * src/execute.c (do_subst): Replaced flag was set on every
|
---|
540 | regexp match, while the first matches should not set it
|
---|
541 | for s///N.
|
---|
542 |
|
---|
543 | 2002-06-08 Paolo Bonzini <bonzini@gnu.org>
|
---|
544 |
|
---|
545 | * src/compile.c (compile_file): Open the script in text mode
|
---|
546 | * lib/utils.c (utils_fp_name): Shorten the output
|
---|
547 | * lib/utils.c (ck_fread, ck_fwrite, ck_fflush): Clearerr
|
---|
548 | after printing an error.
|
---|
549 | * lib/utils.c (ck_fclose): Work on stdout as well if stream == NULL
|
---|
550 | and flush before closing to check for errors
|
---|
551 |
|
---|
552 | 2002-05-30 Paolo Bonzini <bonzini@gnu.org>
|
---|
553 |
|
---|
554 | * src/compile.c (compile_program): Implement W
|
---|
555 | * src/execute.c (execute_program): Likewise
|
---|
556 |
|
---|
557 | 2002-04-23 Paolo Bonzini <bonzini@gnu.org>
|
---|
558 |
|
---|
559 | * src/sed.c (usage, main): Parse -s
|
---|
560 | * src/sed.h (separate_files): New variable
|
---|
561 | * src/execute.c (separate_files): New variable
|
---|
562 | * src/execute.c (reset_addresses): New function to make range
|
---|
563 | addresses work separately on each file when using in-place
|
---|
564 | editing
|
---|
565 | * src/execute.c (execute_program): The `n' and `N' use test_eof
|
---|
566 | so that the script restarts at end of file, not at end of input
|
---|
567 | * src/execute.c (test_dollar_EOF): Make $ work separately
|
---|
568 | on each file when using -s; renamed to test_eof
|
---|
569 |
|
---|
570 | 2002-02-28 Paolo Bonzini <bonzini@gnu.org>
|
---|
571 |
|
---|
572 | * src/sed.h (struct sed_cmd): exit_status -> int_arg
|
---|
573 | * src/compile.c: Likewise
|
---|
574 | * src/execute.c: Likewise
|
---|
575 |
|
---|
576 | * src/compile.c (compile_command): Parse `l' like
|
---|
577 | `q' and `Q'; default for int_arg is -1
|
---|
578 | * src/execute.c (do_list): New argument, used instead
|
---|
579 | of lcmd_out_line_len
|
---|
580 | (execute_program): Interpret int_arg for the `l' command;
|
---|
581 | return 0 for `q' and `Q' if int_arg is -1
|
---|
582 |
|
---|
583 | * src/fmt.c: New file, looted from GNU textutils
|
---|
584 | * src/compile.c: Parse `L'
|
---|
585 | * src/execute.c: Execute `L'
|
---|
586 |
|
---|
587 | 2002-02-14 Paolo Bonzini <bonzini@gnu.org>
|
---|
588 |
|
---|
589 | * src/execute.c (str_append_modified): Fixed a stupid
|
---|
590 | bug (stop condition was *start == *end, meant to be
|
---|
591 | start == end)
|
---|
592 |
|
---|
593 | 2002-02-05 Paolo Bonzini <bonzini@gnu.org>
|
---|
594 |
|
---|
595 | * lib/utils.c: Added directory parameter to
|
---|
596 | temp_file_template
|
---|
597 | * lib/utils.h: Adjusted
|
---|
598 | * src/execute.c: Adjusted
|
---|
599 |
|
---|
600 | 2002-01-29 Paolo Bonzini <bonzini@gnu.org>
|
---|
601 |
|
---|
602 | * src/compile.c (mark_subst_opts): Signal an error if
|
---|
603 | there are multiple g or p options
|
---|
604 | * src/compile.c (compile_program): Raise appropriate
|
---|
605 | error if second string in y command is longer than
|
---|
606 | first (used to be "excess junk after command")
|
---|
607 |
|
---|
608 | 2001-12-31 Paolo Bonzini <bonzini@gnu.org>
|
---|
609 |
|
---|
610 | * lib/getline.c: Strip the terminating \r under Windows
|
---|
611 | or MS-DOS.
|
---|
612 |
|
---|
613 | * testsuite/xemacs.sed, testsuite/xemacs.inp,
|
---|
614 | testsuite/xemacs.good: Submitted by John Fremlin
|
---|
615 | (john@fremlin.de)
|
---|
616 |
|
---|
617 | 2001-12-27 Paolo Bonzini <bonzini@gnu.org>
|
---|
618 |
|
---|
619 | * sed/execute.c (do_subst): Flags in optimized s/^xx/
|
---|
620 | commands were discarded (see the change below)
|
---|
621 |
|
---|
622 | 2001-12-19 Paolo Bonzini <bonzini@gnu.org>
|
---|
623 |
|
---|
624 | * sed/execute.c (resize_line): Limit inactive space to two
|
---|
625 | thirds of a buffer
|
---|
626 | * sed/execute.c (line_init): Initialize buf->active
|
---|
627 | * sed/execute.c (str_append, str_append_modified, line_copy,
|
---|
628 | do_list, do_subst, execute_program, process_files): Operate
|
---|
629 | on active space
|
---|
630 |
|
---|
631 | * sed/execute.c (do_subst): Optimize s/^xx// by making a part
|
---|
632 | of the buffer inactive and s/xx$// by truncating it.
|
---|
633 | * sed/execute.c (execute_program): Optimize D by making a part
|
---|
634 | of the buffer inactive
|
---|
635 |
|
---|
636 | * testsuite/uniq.sed, testsuite/uniq.inp, testsuite/uniq.good:
|
---|
637 | added to test P and D commands.
|
---|
638 | * testsuite/fasts.sed, testsuite/fasts.inp, testsuite/fasts.good:
|
---|
639 | added to test the new optimization done on the `s' command.
|
---|
640 |
|
---|
641 | 2001-12-17 Paolo Bonzini <bonzini@gnu.org>
|
---|
642 |
|
---|
643 | * testsuite/dc.inp: Also compute Easter of 2002 :-)
|
---|
644 |
|
---|
645 | * sed/execute.c [!HAVE_FCHMOD]: Don't chmod the output file
|
---|
646 | if working in-place
|
---|
647 |
|
---|
648 | 2001-11-12 Paolo Bonzini <bonzini@gnu.org>
|
---|
649 |
|
---|
650 | * sed/sed.h (struct sed_cmd): a1 is a pointer too
|
---|
651 | * sed/compile.c: Likewise
|
---|
652 | * sed/execute.c: Likewise
|
---|
653 |
|
---|
654 | * sed/compile.c: Use obstacks
|
---|
655 | * sed/execute.c: Likewise
|
---|
656 |
|
---|
657 | 2001-11-09 Paolo Bonzini <bonzini@gnu.org>
|
---|
658 |
|
---|
659 | * sed/compile.c (mark_subst_opts): Parse option `e',
|
---|
660 | preserve two occurrences of the `e' and `p' options.
|
---|
661 | * sed/execute.c (do_subst) [HAVE_POPEN]: Interpret option
|
---|
662 | `e' (evaluate, like Perl's but uses Bourne shell).
|
---|
663 | * sed/sed.h (struct subst): Add an `eval' flag.
|
---|
664 |
|
---|
665 | * sed/compile.c (compile_program): Compile command `e'
|
---|
666 | like `c'.
|
---|
667 | * sed/execute.c (execute_program): Execute command `e'.
|
---|
668 |
|
---|
669 | 2001-09-25 Paolo Bonzini <bonzini@gnu.org>
|
---|
670 |
|
---|
671 | * sed/compile.c (get_writefile) [!POSIXLY_CORRECT]:
|
---|
672 | support /dev/stdout
|
---|
673 | * sed/execute.c (open_next_file, closedown): Support
|
---|
674 | in-place editing
|
---|
675 | * sed/execute.c (backup_file_name): New function to
|
---|
676 | support in-place editing
|
---|
677 | * sed/main.c (usage, main): Parse -i.
|
---|
678 | * sed/utils.c: Moved to lib directory
|
---|
679 |
|
---|
680 | * lib/utils.c (temp_file_template): New function.
|
---|
681 | * sed/utils.h: Declared temp_file_template.
|
---|
682 |
|
---|
683 | 2001-09-05 Paolo Bonzini <bonzini@gnu.org>
|
---|
684 |
|
---|
685 | * sed/execute.c (do_subst): `baaac', if passed through
|
---|
686 | s/a*/x/g, gave `xbxxcx' rather than `xbxcx' (because an
|
---|
687 | empty string matched before the `c'. Fixed.
|
---|
688 |
|
---|
689 | * sed/execute.c: Removed mmap support, I/O is done using
|
---|
690 | getline (slower but more bug-proof).
|
---|
691 | * sed/utils.c: Likewise.
|
---|
692 | * lib/getline.c: New file
|
---|
693 |
|
---|
694 | 2001-03-22 Paolo Bonzini <bonzini@gnu.org>
|
---|
695 |
|
---|
696 | * sed/compile.c (normalize_text) [POSIXLY_CORRECT]: Enable
|
---|
697 | escapes in modes other than BRE.
|
---|
698 |
|
---|
699 | 2001-03-21 Paolo Bonzini <bonzini@gnu.org>
|
---|
700 |
|
---|
701 | * sed/compile.c (normalize_text): Support \XXX in Perl mode,
|
---|
702 | \oXXX in non-Perl mode.
|
---|
703 |
|
---|
704 | 2001-03-18 Paolo Bonzini <bonzini@gnu.org>
|
---|
705 |
|
---|
706 | * sed/compile.c (compile_program): Fixed missing break when
|
---|
707 | compiling 'q' and 'Q'.
|
---|
708 |
|
---|
709 | * sed/compile.c (check_final_program): Removed now spurious
|
---|
710 | call to compile_regex
|
---|
711 | * sed/regex.c (compile_regex): Don't track the last compiled
|
---|
712 | regex
|
---|
713 | * sed/regex.c (execute_regex): Track here the last compiled
|
---|
714 | regex
|
---|
715 |
|
---|
716 | 2001-03-02 Paolo Bonzini <bonzini@gnu.org>
|
---|
717 |
|
---|
718 | * sed/compile.c (setup_replacement): Support \[lLuUE] like
|
---|
719 | Perl and vi.
|
---|
720 | * sed/compile.c (new_replacement): Accept new parameter
|
---|
721 | to support \[lLUuE].
|
---|
722 | * sed/sed.h (enum replacement_types): New declaration
|
---|
723 | * sed/execute.c (do_subst): Use new function str_append_modified
|
---|
724 | to apply the changes required via \[lLUuE].
|
---|
725 | * sed/execute.c (str_append_modified): New function
|
---|
726 |
|
---|
727 | 2001-03-02 Paolo Bonzini <bonzini@gnu.org>
|
---|
728 |
|
---|
729 | * sed/compile.c (setup_replacement): Count the number of backreferences
|
---|
730 | that the RHS needs
|
---|
731 | * sed/regex.c (compile_regex): Check if there is a sufficient number
|
---|
732 | of backreferences (new argument needed_sub replaces nosub)
|
---|
733 | * sed/compile.c (compile_address, compile_program,
|
---|
734 | check_final_program): Callers adjusted
|
---|
735 |
|
---|
736 | 2001-02-08 Paolo Bonzini <bonzini@gnu.org>
|
---|
737 |
|
---|
738 | * sed/compile.c (compile_program): Added `Q' (quit without output)
|
---|
739 | * sed/execute.c (execute_program): Ditto
|
---|
740 |
|
---|
741 | * sed/compile.c (compile_program): Fill in exit_status for `q' and `Q'
|
---|
742 | * sed/execute.c (execute_program): Return -1 for `go on', 0..255
|
---|
743 | to set the exit status
|
---|
744 | * sed/execute.c (process_files): Interpret new convention for
|
---|
745 | execute_program, return sed's exit code
|
---|
746 | * sed/sed.c (main): Return process_files's exit code
|
---|
747 | * sed/sed.h (struct sed_cmd): Declare exit_status
|
---|
748 |
|
---|
749 | 2001-01-07 Paolo Bonzini <bonzini@gnu.org>
|
---|
750 |
|
---|
751 | * sed/compile.c (compile_program): Added `T' (branch if failed)
|
---|
752 | * sed/execute.c (shrink_program, execute_program): Ditto
|
---|
753 |
|
---|
754 | 2001-01-04 Paolo Bonzini <bonzini@gnu.org>
|
---|
755 |
|
---|
756 | * testsuite/Makefile.am: Use automake's implementation
|
---|
757 | of `make check'. Removed the test targets
|
---|
758 | * testsuite/Makefile.tests: Moved the test targets here
|
---|
759 | (new file).
|
---|
760 | * testsuite/runtest: New file
|
---|
761 |
|
---|
762 | * testsuite/Makefile.tests: `khadafy' test uses EREs.
|
---|
763 |
|
---|
764 | * testsuite/spencer.inp: Removed the ^* test
|
---|
765 |
|
---|
766 | * testsuite/spencer.sh: Don't rely on awk; more comments too
|
---|
767 |
|
---|
768 | 2001-01-03 Paolo Bonzini <bonzini@gnu.org>
|
---|
769 |
|
---|
770 | * sed/compile.c(snarf_char_class) [REG_PERL]: Don't parse
|
---|
771 | `\n' specially
|
---|
772 | * sed/compile.c(match_slash) [REG_PERL]: Ditto
|
---|
773 |
|
---|
774 | * sed/compile.c(read_text) [REG_PERL]: Support [xX] modifiers
|
---|
775 | * sed/compile.c(mark_subst_opts) [REG_PERL]: Ditto
|
---|
776 |
|
---|
777 | 2000-12-21 Paolo Bonzini <bonzini@gnu.org>
|
---|
778 |
|
---|
779 | * lib/snprintf.c [BOOTSTRAP]: Don't include stdio.h
|
---|
780 | * lib/strerror.c [BOOTSTRAP]: Don't include stdio.h
|
---|
781 | * sed/execute.c [!HAVE_ISATTY]: Don't buffer stdin
|
---|
782 |
|
---|
783 | 2000-12-11 Paolo Bonzini <bonzini@gnu.org>
|
---|
784 |
|
---|
785 | * sed/compile.c(mark_subst_opts): Support [mMsS] flags
|
---|
786 | * sed/compile.c(read_text): Support [MS] flags for
|
---|
787 | addresses
|
---|
788 | * sed/regex.c(compile_regex): Support arbitrary flags for
|
---|
789 | regncomp.
|
---|
790 |
|
---|
791 | * sed/regex.c(compile_regex) [REG_PERL]: Don't call
|
---|
792 | normalize_text.
|
---|
793 |
|
---|
794 | 2000-12-08 Paolo Bonzini <bonzini@gnu.org>
|
---|
795 |
|
---|
796 | * basicdefs.h: Moved here from the `sed' subdirectory.
|
---|
797 |
|
---|
798 | * configure.in: Removed crap to pick a regex engine.
|
---|
799 | Added snprintf to the AC_REPLACE_FUNCS call.
|
---|
800 |
|
---|
801 | * lib/snprintf.c: New file.
|
---|
802 |
|
---|
803 | * sed/regex.c(compile_regex): Use regncomp
|
---|
804 | * sed/regex.c(match_regex): Use regexec2
|
---|
805 |
|
---|
806 | * sed/compile.c(compile_program): Implemented the `v' command.
|
---|
807 |
|
---|
808 | * sed/sed.c(main): Implemented the `r' and `R' options
|
---|
809 |
|
---|
810 | * sed/sed.h: Replaced use_extended_syntax_t with
|
---|
811 | extended_regexp_flags to support Perl regular expressions.
|
---|
812 |
|
---|
813 | * sed/execute.c(open_next_file): Don't mmap stdin (because
|
---|
814 | we cannot seek into it, so a redirected stdin's contents
|
---|
815 | would not be "eaten" by sed)
|
---|
816 |
|
---|
817 | Mon Aug 30 23:40:08 PDT 1999 Ken Pizzini <ken@gnu.org>
|
---|
818 |
|
---|
819 | *** Version 3.02.80 released
|
---|
820 |
|
---|
821 | * sed/execute.c(do_subst): lib/regex.c(re_search_2) seems to
|
---|
822 | want one extra backreference register; humor it.
|
---|
823 |
|
---|
824 | * sed/regex.c(compile_regex): work around some odd assumptions
|
---|
825 | that lib/regex.c(re_compile_pattern) makes about our desired
|
---|
826 | RE syntax.
|
---|
827 |
|
---|
828 | * configure.in: tweaked version to 3.02.80; added new entries
|
---|
829 | to the ALL_LINGUAS definition.
|
---|
830 |
|
---|
831 | * doc/sed.1, doc/sed.texi, BUGS: explicitly request the output
|
---|
832 | of sed --version in bug-reporting instructions.
|
---|
833 |
|
---|
834 | * doc/sed.texi: the old "informal seders list" is dead; document
|
---|
835 | the new sed-users mailing list instead (under Other Resources).
|
---|
836 |
|
---|
837 |
|
---|
838 | Thu Aug 19 23:27:54 PDT 1999 Ken Pizzini <ken@gnu.org>
|
---|
839 |
|
---|
840 | * sed/sed.h: Add explicit #include of "regex-sed.h" (rather
|
---|
841 | than relying on parent file doing so); change the "cmd_regex"
|
---|
842 | member of sed_cmd: make it a pointer (instead of a struct),
|
---|
843 | and change its name to cmd_subst; add prototypes for newly
|
---|
844 | exported functions bad_prog(), normalize_text(), compile_regex(),
|
---|
845 | match_regex(), and release_regex(); drop rx_testing variable.
|
---|
846 |
|
---|
847 | * sed/compile.c: move the compile_regex() function to regex.c;
|
---|
848 | export bad_prog() and normalize_text() functions; eliminate the
|
---|
849 | rx_testing debris; rename the NOLEAKS symbol to more descriptive
|
---|
850 | DEBUG_LEAKS; make cmd_regex to cmd_subst fixes (see above);
|
---|
851 | make use of newly abstracted release_regex() function.
|
---|
852 |
|
---|
853 | * sed/execute.c: abstract out the regex matching to
|
---|
854 | regex.c:match_regex(); NOLEAKS to DEBUG_LEAKS change;
|
---|
855 | cmd_regex to cmd_subst structure member name change.
|
---|
856 |
|
---|
857 | * sed/execute.c(do_subst): use re_registers/regoff_t instead of
|
---|
858 | regmatch_t to hold the backreference registers, make "offset"
|
---|
859 | always be relative to the beginning of the string (rather than
|
---|
860 | a delta from "start"), defer some matching bookkeeping (e.g.,
|
---|
861 | not_bol_p) to match_regex().
|
---|
862 |
|
---|
863 | * sed/sed.c(main): loose rx_testing variable; NOLEAKS
|
---|
864 | (aka DEBUG_LEAKS) code attempting to release
|
---|
865 | _nl_current_default_domain is problematic, so omit it.
|
---|
866 |
|
---|
867 | * sed/regex.c: new file --- abstracts out the interface to the
|
---|
868 | regex engine so that less conditional code is required in
|
---|
869 | compile.c and execute.c, and so as to make a change of engine
|
---|
870 | easier; implements compile_regex() (which looks an awful lot
|
---|
871 | like the one that used to live in compile.c), match_regex(),
|
---|
872 | and (if DEBUG_LEAKS is set) release_regex().
|
---|
873 |
|
---|
874 | Sun Apr 18 04:40:46 PDT 1999 Ken Pizzini <ken@gnu.org>
|
---|
875 |
|
---|
876 | * sed/sed.c(main): conditionalize calls to setlocale() and
|
---|
877 | textdomain() to only occur if their support is needed/wanted.
|
---|
878 |
|
---|
879 | Sun Apr 18 03:01:46 PDT 1999 Ken Pizzini <ken@gnu.org>
|
---|
880 |
|
---|
881 | * bootstrap.sh: "foo || bar && baz" was not grouping like I
|
---|
882 | expected ("foo || (bar && baz)") under at least one shell,
|
---|
883 | so change the test for a pre-existing config.h file to an
|
---|
884 | if statement.
|
---|
885 |
|
---|
886 | * bootstrap.sh: added -DUSE_REGEX_GNU_H option to the
|
---|
887 | compiler invocation, to ensure that we get a usable
|
---|
888 | regex library included.
|
---|
889 |
|
---|
890 | Sun Apr 18 02:59:42 PDT 1999 Ken Pizzini <ken@gnu.org>
|
---|
891 |
|
---|
892 | * sed/sed.h, sed/utils.c: conditionalized inclusion of <libintl.h>
|
---|
893 | to occur only if ENABLE_NLS is defined.
|
---|
894 |
|
---|
895 | Sun Apr 18 01:48:45 PDT 1999 Ken Pizzini <ken@gnu.org>
|
---|
896 |
|
---|
897 | * sed/compile.c(xofa,normalize_text,convert_number): change
|
---|
898 | name of xofa() function to convert_number(); change semantics
|
---|
899 | to do all of the work of the text->number conversion.
|
---|
900 |
|
---|
901 | * sed/compile.c(normalize_text): add new \dDDD decimal
|
---|
902 | and \oOOO octal escapes.
|
---|
903 |
|
---|
904 | Sun Mar 28 21:05:07 PST 1999 Ken Pizzini <ken@gnu.org>
|
---|
905 |
|
---|
906 | * sed/sed.c(main): if NOLEAKS is set, free up a word that
|
---|
907 | the call to textdomain() allocated.
|
---|
908 |
|
---|
909 | * sed/execute.c(read_file_line): plug up (minor) memory leak:
|
---|
910 | if buffer.alloc==0 we may have malloc()'d 1 byte anyway,
|
---|
911 | so be sure to FREE(buffer.text) before calling line_init();
|
---|
912 |
|
---|
913 | Fri Mar 26 16:52:10 PST 1999 Ken Pizzini <ken@gnu.org>
|
---|
914 |
|
---|
915 | * sed/compile.c(match_slash): somewhere between 3.02
|
---|
916 | and 3.02a we lost the ability to use a newline as
|
---|
917 | the s/// delimiter; restore this ability.
|
---|
918 |
|
---|
919 | * sed/compile.c(compile_regex): forget about trying
|
---|
920 | to cache the compiled form of the last RE --- it
|
---|
921 | causes more problems than its worth. We now only
|
---|
922 | cache the source form.
|
---|
923 |
|
---|
924 | * testsuite/help.good: update to reflect output containing
|
---|
925 | new options.
|
---|
926 |
|
---|
927 | Sun Dec 6 00:51:23 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
928 |
|
---|
929 | * sed/utils.c(ck_fwrite): fix i18n bug of using a printf
|
---|
930 | fragment of "item%s" to handle plural text.
|
---|
931 |
|
---|
932 | Mon Nov 23 11:03:40 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
933 |
|
---|
934 | * doc/sed.1, doc/sed.texi: ran ispell over these
|
---|
935 | files to catch the more obvious typos...
|
---|
936 |
|
---|
937 | Sun Nov 1 00:09:07 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
938 |
|
---|
939 | * sed/execute.c(do_list): make a `lcmd_out_line_len'
|
---|
940 | (--line-length) of zero mean "infinite length",
|
---|
941 | i.e., "never wrap".
|
---|
942 |
|
---|
943 | Sat Oct 31 23:06:50 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
944 |
|
---|
945 | * execute.c(match_an_address_p,process_files),
|
---|
946 | compile.c(compile_program): back out the "zero-address"
|
---|
947 | changes of 1998-09-27. It was a neat idea, but there are
|
---|
948 | too many dark corners which don't work well. The
|
---|
949 | special code for handling line ranges starting at
|
---|
950 | address zero (from 1998-08-31) are still there though:
|
---|
951 | this seems to work fine with no surprises.
|
---|
952 |
|
---|
953 | Sat Oct 31 22:18:59 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
954 |
|
---|
955 | * sed/sed.c, sed/sed.h, sed/execute.c: added new
|
---|
956 | `lcmd_out_line_len' variable. (Idea suggested by
|
---|
957 | Carlos J. G. Duarte <l38076@alfa.ist.utl.pt>.)
|
---|
958 | Also added ATOI macro (which uses strtoul() if available,
|
---|
959 | with fall-back to atoi()).
|
---|
960 | * sed/sed.c(main): attempt to use COLS environment variable
|
---|
961 | to set a reasonable `lcmd_out_line_len'; added -l/--line-length
|
---|
962 | command-line options to set the new `lcmd_out_line_len' flag.
|
---|
963 | * sed/sed.c(usage): documented new -l/--line-length options.
|
---|
964 | * sed/execute.c(do_list): use `lcmd_out_line_len' variable
|
---|
965 | instead of `LCMD_OUT_LINE_LEN'.
|
---|
966 | * sed/execute.c: deleted now obsolete LCMD_OUT_LINE_LEN define.
|
---|
967 | * configure.in: added strtoul to the AC_CHECK_FUNCS call.
|
---|
968 |
|
---|
969 | Sat Oct 31 21:37:17 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
970 |
|
---|
971 | * sed/sed.c, sed/sed.h, sed/execute.c: added new `force_unbuffered'
|
---|
972 | flag. (Idea suggested by Frank Strauss <strauss@escape.de>.)
|
---|
973 | * sed/sed.c(main): added -u/--unbuffered command-line options
|
---|
974 | to set the new `force_unbuffered' flag.
|
---|
975 | * sed/sed.c(usage): documented new -u/--unbuffered options.
|
---|
976 | * sed/execute.c: changed the name of the `is_tty' flag in struct
|
---|
977 | input to a more generic `no_buffering'; also removed HAVE_ISATTY
|
---|
978 | conditional on this member.
|
---|
979 | * sed/execute.c(slow_getline): removed HAVE_ISATTY conditonal
|
---|
980 | compilation of this function.
|
---|
981 | * sed/execute.c(output_line): if force_unbuffered is set,
|
---|
982 | then force a fflush() even if writing to stdout.
|
---|
983 | * sed/execute.c(open_next_file): added handling of the
|
---|
984 | new `force_unbuffered' flag so that slow_getline()
|
---|
985 | will always be used for input.
|
---|
986 | * sed/execute.c(read_file_line): changed the (conditionally
|
---|
987 | compiled) test of `input->is_tty' to (unconditionally)
|
---|
988 | use the new spelling `input->no_buffering'.
|
---|
989 |
|
---|
990 | Thu Oct 15 12:08:09 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
991 |
|
---|
992 | * configure.in: deleted AC_ARG_PROGRAM call; this is already
|
---|
993 | done for us by AM_INIT_AUTOMAKE, and we were winding up
|
---|
994 | with a doubled-transform.
|
---|
995 |
|
---|
996 | Sun Sep 27 01:42:42 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
997 |
|
---|
998 | * compile.c(compile_program): remove special-case code for matching
|
---|
999 | address range with a `0' beginning.
|
---|
1000 |
|
---|
1001 | * compile.c(compile_address): change default addr_number to
|
---|
1002 | be a pragmatically impossible countT value, instead of zero.
|
---|
1003 |
|
---|
1004 | * execute.c: spell macro REGNEXEC() unconditionally instead of
|
---|
1005 | playing with conditional definition of regnexec() macro.
|
---|
1006 |
|
---|
1007 | * execute.c(match_an_address_p): added third argument (and changed
|
---|
1008 | callers in match_address_p). Added special code to ignore
|
---|
1009 | non-numeric matches when processing "line zero".
|
---|
1010 |
|
---|
1011 | * execute.c(process_files): added a "line zero" pass through the
|
---|
1012 | commands script.
|
---|
1013 |
|
---|
1014 | Sun Sep 27 00:20:53 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1015 |
|
---|
1016 | * compile.c(xofa,normalize_text): new functions.
|
---|
1017 | * compile.c(compile_regex): cache last_compiled_re (with its
|
---|
1018 | associated flags); add POSIXLY_CORRECT behavior for empty RE.
|
---|
1019 | Make use of the new normalize_text() function.
|
---|
1020 | * compile.c(setup_replacement): Make use of the new normalize_text()
|
---|
1021 | function.
|
---|
1022 |
|
---|
1023 | Sat Sep 26 22:59:13 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1024 |
|
---|
1025 | * lib/regex-gnu.h: added missing prototype for regncomp().
|
---|
1026 |
|
---|
1027 | Mon Sep 14 20:47:23 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1028 |
|
---|
1029 | * sed/sed.c(main): use EXIT_SUCCESS instead of 0, in case
|
---|
1030 | we are built on a system (such as VMS) where EXIT_SUCCESS
|
---|
1031 | is distinct from 0.
|
---|
1032 |
|
---|
1033 | Wed Sep 9 22:17:28 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1034 |
|
---|
1035 | * sed/Makefile.am: added -I../intl the INCLUDES line; if we are
|
---|
1036 | building in a directory outside the source tree and the system
|
---|
1037 | we are building on does not have a <libintl.h> header, then
|
---|
1038 | the build was failing, because libintl.h is a build-time
|
---|
1039 | constructed source file.
|
---|
1040 |
|
---|
1041 | * configure.in: tweaked version to be 3.02b.
|
---|
1042 |
|
---|
1043 | Wed Sep 9 19:28:14 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1044 |
|
---|
1045 | *** Version 3.02a released
|
---|
1046 |
|
---|
1047 | * sed/compile.c(mark_subst_opts,read_label,compile_program):
|
---|
1048 | wherever we accept a ; as a command terminator, also allow a } or
|
---|
1049 | a # to appear. (This allows for less cluttered-looking scripts,
|
---|
1050 | such as: sed '/foo/{x;G}' (instead of: sed '/foo/{x;G;}').)
|
---|
1051 |
|
---|
1052 | Wed Sep 9 18:17:07 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1053 |
|
---|
1054 | * sed/compile.c(compile_regex): use regncomp() instead
|
---|
1055 | of regcomp(), so that a script with NULs in its REs
|
---|
1056 | will work in the expected manner.
|
---|
1057 |
|
---|
1058 | * sed/compile.c(ADDNUL,REGNCOMP): added support macros
|
---|
1059 | for above.
|
---|
1060 |
|
---|
1061 | * lib/regex.c(regncomp,regcomp): added regncomp() and
|
---|
1062 | made regcomp() a simple wrapper function.
|
---|
1063 |
|
---|
1064 | Mon Aug 31 21:48:30 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1065 |
|
---|
1066 | * sed/sed.c(compile_program): if the first address of
|
---|
1067 | a range is the number 0 (or a 0~N sequence), start
|
---|
1068 | out in the "a1_matched" state. This allows one
|
---|
1069 | to match an initial chunk of a file without undue
|
---|
1070 | convolutions for handling the case where the match
|
---|
1071 | for the end of the sequence happens to be the first
|
---|
1072 | line.
|
---|
1073 |
|
---|
1074 | Sun Aug 16 03:34:25 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1075 |
|
---|
1076 | * sed/compile.c(snarf_char_class,match_slash): simplify
|
---|
1077 | handling of "premature newline" error. Also, get the
|
---|
1078 | line number right in the error message if we encounter
|
---|
1079 | a "premature newline" during char-class snarfing.
|
---|
1080 |
|
---|
1081 | Sun Aug 16 02:59:20 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1082 |
|
---|
1083 | * sed/compile.c: added N_() markers and corresponding gettext()
|
---|
1084 | (er, _()) calls.
|
---|
1085 |
|
---|
1086 | * Merged in i18n contribution from Erick Branderhorst
|
---|
1087 | <Erick.Branderhorst@asml.nl>. His ChangeLog entry
|
---|
1088 | for the changes I've incorporated so far:
|
---|
1089 |
|
---|
1090 | 1998-07-24 Erick Branderhorst <Erick.Branderhorst@asml.nl>
|
---|
1091 | * configure.in (ALL_LINGUAS, AM_GNU_GETTEXT): nl
|
---|
1092 | * sed/{sed.h,utils.c}: #include <libintl.h> #define _(String)
|
---|
1093 | gettext (String)
|
---|
1094 | * sed/sed.c: #include <locale.h>
|
---|
1095 | * po/POTFILES.in: sed/{compile,execute,sed,utils}.c
|
---|
1096 | * run gettextize -f
|
---|
1097 | * acconfig.h: #undef LOCALEDIR ENABLE_NLS HAVE_CATGETS
|
---|
1098 | HAVE_GETTEXT HAVE_LC_MESSAGES HAVE_STPCPY
|
---|
1099 |
|
---|
1100 | Fri Aug 14 13:52:57 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1101 |
|
---|
1102 | * Merged code from 3.02 with a branched development
|
---|
1103 | tree from late May; the following (out-of-order)
|
---|
1104 | changelog entry is from the branched tree.
|
---|
1105 |
|
---|
1106 | Sat May 30 12:23:16 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1107 |
|
---|
1108 | * sed/compile.c, sed/execute.c: added (conditional on NOLEAKS macro)
|
---|
1109 | code to free all dynamically allocated memory.
|
---|
1110 |
|
---|
1111 | * sed/sed.c, sed/compile.c, sed/execute.c: much shuffling
|
---|
1112 | of code --- ordered functions such that no forward
|
---|
1113 | declarations are necessary, and placed all static prototypes
|
---|
1114 | immediately before the actual function definition.
|
---|
1115 | This accomplished two things: first, I find the new ordering
|
---|
1116 | a more natural way to read the code than the previous
|
---|
1117 | ordering, and second, the new ordering give the compiler
|
---|
1118 | a better opportunity to discover inlining possibilities.
|
---|
1119 | (The odd "prototype declaration+old-style definition"
|
---|
1120 | style is used because I feel it is the least ugly way
|
---|
1121 | of supporting K&R1 C while still getting the benefit of
|
---|
1122 | prototypes when they are available.)
|
---|
1123 |
|
---|
1124 | * sed/basicdefs.h: added MEMCPY() macro to hide the VCAST()s
|
---|
1125 | that ought to be used with memcpy().
|
---|
1126 |
|
---|
1127 | * sed/execute.c: Change calls to memcpy() to go through the
|
---|
1128 | new MEMCPY() macro. Various prototypes: elide variable name
|
---|
1129 | if it does not add any human-useful documentary information
|
---|
1130 | to the bare type.
|
---|
1131 |
|
---|
1132 | * sed/sed.c(main): Updated calls to compile_string() to add third
|
---|
1133 | (length) argument. Changed call to obsolete close_all_files()
|
---|
1134 | to a call to the new finish_program().
|
---|
1135 |
|
---|
1136 | * sed/sed.c(map_file): Attempt to clean-up how "size" gets
|
---|
1137 | cast and tested; remove spurious S_ISREG test (just let
|
---|
1138 | mmap() fail if it doesn't support the underlying file type).
|
---|
1139 |
|
---|
1140 | * sed/sed.c: Deleted old RX library stub declarations.
|
---|
1141 |
|
---|
1142 | * sed/sed.c(map_file,unmap_file): added VCAST()s to the
|
---|
1143 | mmap()/munmap() calls.
|
---|
1144 |
|
---|
1145 | * sed/utils.c(ck_fclose): added support for ANSI C
|
---|
1146 | functionality where passing a NULL argument means
|
---|
1147 | to fclose() _all_ open streams. (Well, almost.
|
---|
1148 | Only closes streams which were previously ck_fopen()ed,
|
---|
1149 | as I don't care to figure out how to autoconf-detect
|
---|
1150 | whether fclose(NULL) is properly supported on a given
|
---|
1151 | platform.)
|
---|
1152 |
|
---|
1153 | * sed/sed.h: Renamed `struct text_buf' member `text_len'
|
---|
1154 | to `text_length'. Abstracted out `enum addr_types'
|
---|
1155 | from `struct addr'; added new enum types num2,step,step_mod;
|
---|
1156 | renamed mod to num_mod. De-unionized the regex,number,
|
---|
1157 | {modulo-offset/step} components of `struct addr', in
|
---|
1158 | anticipation of new features. Changed type of `a2' member
|
---|
1159 | of `struct sed_cmd': now a pointer to save space.
|
---|
1160 | Abstracted out `struct replacement' from `struct subst'.
|
---|
1161 | Cleaned up declaration of `x' union of `struct addr'.
|
---|
1162 | Fixed prototype for compile_string(). Replaced prototype
|
---|
1163 | for old close_all_files() with one for new finish_program().
|
---|
1164 |
|
---|
1165 | * sed/sed.h, sed/compile.c, sed/execute.c: changed to
|
---|
1166 | simplify the data structures used for branches and
|
---|
1167 | command blocks: simplified `struct vector'; made
|
---|
1168 | `struct label' local to compile.c; `struct sed_cmd'
|
---|
1169 | was modified to support a simpler design for branches
|
---|
1170 | and blocks.
|
---|
1171 |
|
---|
1172 | * sed/execute.c: Conditionally added ADDNUL() macro so that
|
---|
1173 | the function call overhead is only incurred if nul_append()
|
---|
1174 | _must_ be called. Made some commentary edits, including
|
---|
1175 | typo fixes.
|
---|
1176 | * sed/execute.c(resize_line): changed semantics of "len" argument
|
---|
1177 | from "additional length" to "target length"; made
|
---|
1178 | INITIAL_BUFFER_SIZE a minimum allocation length.
|
---|
1179 | * sed/execute.c(str_append): adjusted to new resize_line()
|
---|
1180 | semantics.
|
---|
1181 | * sed/execute.c(line_copy): use FREE()+MALLOC() instead of
|
---|
1182 | REALLOC() to avoid unnecessary copying of old text; add the
|
---|
1183 | "try doubling first" allocation heuristic (just like
|
---|
1184 | resize_line() does).
|
---|
1185 | * sed/execute.c(line_exchange): new function.
|
---|
1186 | * sed/execute.c(nul_append): make whole function (not just its
|
---|
1187 | body) conditional on HAVE_REGNEXEC macro; adjust to new
|
---|
1188 | resize_line() semantics.
|
---|
1189 | * sed/execute.c(read_mem_line): use str_append() instead if
|
---|
1190 | custom in-line code; compensate for new default of
|
---|
1191 | "line.chomped = 0" in read_pattern_space() by setting
|
---|
1192 | "line.chomped = 1" where appropriate.
|
---|
1193 | * sed/execute.c(read_file_line): use different trigger to
|
---|
1194 | determine that "buffer" is uninitialized, and do a full
|
---|
1195 | initialization if required; use str_append() instead of custom
|
---|
1196 | in-line code in two places; compensate for new default of
|
---|
1197 | "line.chomped = 0" in read_pattern_space() by setting
|
---|
1198 | "line.chomped = 1" where appropriate.
|
---|
1199 | * sed/execute.c(output_line): don't bother calling ck_fwrite()
|
---|
1200 | if length==0.
|
---|
1201 | * sed/execute.c(release_append_queue): new function.
|
---|
1202 | * sed/execute.c(dump_append_queue): use release_append_queue()
|
---|
1203 | instead of in-line equivalent.
|
---|
1204 | * sed/execute.c(read_pattern_space): conditionalize call to
|
---|
1205 | dump_append_queue() for alleged performance reasons; changed
|
---|
1206 | default "line.chomped" value to more common "1", and added an
|
---|
1207 | assignment of "0" where this made a difference.
|
---|
1208 | * sed/execute.c(match_an_address_p): deleted "is_addr2_p"
|
---|
1209 | argument; reorder cases to match order in enum declaration; add
|
---|
1210 | cases for new "addr_is_num2", "addr_is_step", and
|
---|
1211 | "addr_is_step_mod" address types; alter nul_append() call to be
|
---|
1212 | through ADDNUL() macro; fix to new struct member and enum
|
---|
1213 | spellings in (formerly addr_is_mod); addr_is_num_mod case.
|
---|
1214 | * sed/execute.c(match_address_p): remove oblsolete third argument
|
---|
1215 | to calls to match_address_p(); alter references to sed_cmd
|
---|
1216 | member a2 to reflect new pointer status; add new support for
|
---|
1217 | a2->addr_type addr_is_step and addr_is_step_mod cases.
|
---|
1218 | * sed/execute.c(do_subst): add NOLEAKS support logic; use
|
---|
1219 | ADDNUL() wrapper to nul_append(); simplify replacement
|
---|
1220 | expansion by using the new "struct replacement" data structure;
|
---|
1221 | use line_exchange() function instead of custom in-line code.
|
---|
1222 | * sed/execute.c(process_files): added NOLEAKS code.
|
---|
1223 | * sed/execute.c(execute_program): updated implementations
|
---|
1224 | of the `{', `}', `:', `b', and `t' commands; modified
|
---|
1225 | `c' command gratuituosly; fixed potential memory
|
---|
1226 | overrun in `D' command. Simplified how nonstandard
|
---|
1227 | `loop increments' work. Use line_exchange() instead of
|
---|
1228 | custom in-line code in 'x' case.
|
---|
1229 | * sed/execute.c[EXPERIMENTAL_DASH_N_OPTIMIZATION conditional
|
---|
1230 | code]: various modifications intended to keep this
|
---|
1231 | code in sync with the new changes, but the code still
|
---|
1232 | retains its previous bugs.
|
---|
1233 |
|
---|
1234 | * sed/compile.c: use "exit(EXIT_FAILURE) instead of "exit(1)",
|
---|
1235 | just in case we get compiled under VMS.
|
---|
1236 | * sed/compile.c: Change type of prog_info.base to decrease needs
|
---|
1237 | for casting; then elimiated the casts in question ;-).
|
---|
1238 | * sed/compile.c: Added struct sed_label (moved from sed.h, then
|
---|
1239 | modified).
|
---|
1240 | * sed/compile.c: Removed "readit_p" flag from struct fp_list.
|
---|
1241 | * sed/compile.c: Added module-global "blocks" variable.
|
---|
1242 | * sed/compile.c: Extracted more error-message constant strings
|
---|
1243 | to named variables.
|
---|
1244 | * sed/compile.c(check_final_program): updated to
|
---|
1245 | reflect new data structures and use new fucntions.
|
---|
1246 | Added call to compile_regex() to release unneeded
|
---|
1247 | memory.
|
---|
1248 | * sed/compile.c: deleted obsolete new_vector() function;
|
---|
1249 | abstracted new read_label() function; abstracted new
|
---|
1250 | release_label() function; added new `blocks' module-static
|
---|
1251 | variable.
|
---|
1252 | * sed/compile.c(compile_program): updated implementations
|
---|
1253 | of the `{', `}', `:', `b', and `t' commands; modified
|
---|
1254 | initialization from NULL vector.
|
---|
1255 | * sed/compile.c(compile_regex): added mechanism to
|
---|
1256 | release memory consumed by the cached `last' RE.
|
---|
1257 | * sed/compile.c(setup_jump,setup_label): updated
|
---|
1258 | name (from setup_jump to setup_label) and prototype;
|
---|
1259 | changed body to reflect data structure changes.
|
---|
1260 | * sed/compile.c: Add OPEN_BRACE and CLOSE_BRACE macros for better
|
---|
1261 | "vi" editing behavior.
|
---|
1262 | * sed/compile.c(compile_filename,read_filename,get_writefile):
|
---|
1263 | Replaced function compile_filename() with more orthogonal functions
|
---|
1264 | read_filename(), get_writefile().
|
---|
1265 | * sed/compile.c(compile_regex): Added ability to free the remembered
|
---|
1266 | "last RE" in compile_regex (for benifit of "NOLEAKS" code).
|
---|
1267 | * Made adjustments dictated by the change to struct sed_cmd which made
|
---|
1268 | the a2 member a pointer-to-addr instead of an addr.
|
---|
1269 | * sed/compile.c(setup_jump,read_label,setup_label,release_label):
|
---|
1270 | Added functions read_label(), setup_label(), release_label(); deleted
|
---|
1271 | function setup_jump().
|
---|
1272 | * sed/compile.c(new_replacement,setup_replacement,release_replacement):
|
---|
1273 | new functions.
|
---|
1274 | * sed/compile.c: Adjusted to new spelling of text_buf member
|
---|
1275 | ("text_length" instead of "text_len").
|
---|
1276 | * sed/compile.c(new_vector): deleted function. (Due to new handling
|
---|
1277 | of blocks, only one instance remained, and that one was just as
|
---|
1278 | clear in-lined.)
|
---|
1279 | * sed/compile.c(compile_string): Added third argument; it now
|
---|
1280 | takes a counted string instead of a NUL-terminated string.
|
---|
1281 | * sed/compile.c(compile_file): added variable "map_base" to
|
---|
1282 | compensate for new type of prog_info.base.
|
---|
1283 | * sed/compile.c(check_final_program): reflect new style of
|
---|
1284 | handling blocks and struct sed_label.
|
---|
1285 | * sed/compile.c(close_all_files,finish_program): replaced function
|
---|
1286 | close_all_files() with more generic finish_program().
|
---|
1287 | * sed/compile.c(read_text): added new feature: if first non-blank
|
---|
1288 | character after the {a,i,c} command character is not "\", then
|
---|
1289 | use the trailing text on that line as the (first) line of text.
|
---|
1290 | Also added code conditional on NO_INPUT_INDENT to support the
|
---|
1291 | "feature" of stripping leading blanks from each input line; I
|
---|
1292 | do not read POSIX as permitting this behavior, nor do I think
|
---|
1293 | it is a good idea, so it is disabled by default, but some have
|
---|
1294 | argued that this blank-stripping is the "correct" behavior, so
|
---|
1295 | I offer them the option of building their sed that way.
|
---|
1296 | * sed/compile.c(compile_address): added xxx,+n and xxx,~n addressing;
|
---|
1297 | simplified code.
|
---|
1298 | * sed/compile.c(compile_program): added BAD_PLUS error detection;
|
---|
1299 | adjusted to new cur_cmd->a2 pointer status; added addr_is_num2
|
---|
1300 | detection; deleted pointless "a2->addr_number < a1.addr_number"
|
---|
1301 | check (addr_is_num2 semantics handle this just fine); updated
|
---|
1302 | code for '{', '}', ':', 'b', and 't' to reflect new design
|
---|
1303 | of branch handling, including making use of new functions
|
---|
1304 | related to the new design); added support for feature already
|
---|
1305 | mentioned in read_text() where {a,i,c} commands are able to have
|
---|
1306 | their text start on the same line as the command; changed some
|
---|
1307 | error messages (hopefully for the better); localized variables
|
---|
1308 | specific to individual commands (particularly 's' and 'y');
|
---|
1309 | made use of new setup_replacement() function in 's' command.
|
---|
1310 |
|
---|
1311 | Mon Aug 10 19:58:49 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1312 |
|
---|
1313 | * doc/sed.texi, doc/sed.1: sedtut10.txt is apparently dead.
|
---|
1314 | Deleted references to it and added a pointer to
|
---|
1315 | http://seders.icheme.org/tutorials/. (Pointed out by
|
---|
1316 | Joerg Heitkoetter <joerg@de.uu.net>.)
|
---|
1317 |
|
---|
1318 | Sat Aug 8 18:11:57 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1319 |
|
---|
1320 | * djgpp/config.btm: per request by Michel de Ruiter
|
---|
1321 | <mdruiter@cs.vu.nl>, added "%1" to "%9" parameters.
|
---|
1322 |
|
---|
1323 | Mon Aug 3 11:44:55 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1324 |
|
---|
1325 | * doc/sed.texi: fix a couple of typos. (Submitted by
|
---|
1326 | Alan Modra <alan@spri.levels.unisa.edu.au>.)
|
---|
1327 |
|
---|
1328 | Sat Aug 01 17:49:06 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1329 |
|
---|
1330 | *** Version 3.02 released
|
---|
1331 |
|
---|
1332 | * configure.in: Because of code change in 3.01a, bump the
|
---|
1333 | minor revision number for the release (now 3.02).
|
---|
1334 |
|
---|
1335 | Sun Jul 26 16:07:55 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1336 |
|
---|
1337 | *** Version 3.01a released
|
---|
1338 |
|
---|
1339 | * sed/compile.c(snarf_char_class): the POSIX char-class
|
---|
1340 | recognition loop forgot to update its concept of "prev"
|
---|
1341 | as the loop progressed.
|
---|
1342 |
|
---|
1343 | * testsuite/Makefile.am: The dependency of version.good
|
---|
1344 | on [testsuite/]Makefile introduced in the previous
|
---|
1345 | release was botched -- it referred to "Makefile"
|
---|
1346 | as "$(srcdir)/Makefile, which of course doesn't work
|
---|
1347 | if you aren't building in the source tree.
|
---|
1348 |
|
---|
1349 | * djgpp/Makefile.am: add forgotten "config.btm" EXTRA_DIST
|
---|
1350 | member.
|
---|
1351 |
|
---|
1352 | * configure.in: update version.
|
---|
1353 |
|
---|
1354 | Tue Jul 21 06:04:42 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1355 |
|
---|
1356 | *** Version 3.01 released
|
---|
1357 |
|
---|
1358 | * configure.in: mark as release version!
|
---|
1359 |
|
---|
1360 | * Makefile.am: add BUGS and THANKS to the EXTRA_DIST target.
|
---|
1361 |
|
---|
1362 | * testsuite/Makefile.am: add dependency of version.good
|
---|
1363 | on [testsuite/]Makefile.
|
---|
1364 |
|
---|
1365 | Mon Jul 20 12:38:10 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1366 |
|
---|
1367 | * djgpp/config.btm: New file to support the 4DOS alternative
|
---|
1368 | to command.com. (Sumitted by Eli Zaretskii on behalf of
|
---|
1369 | an anonymous 4DOS user.)
|
---|
1370 |
|
---|
1371 | Fri Jul 17 00:36:34 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1372 |
|
---|
1373 | *** Version 3.01-beta18 released
|
---|
1374 |
|
---|
1375 | * djgpp/config.sed: my "tweak" in beta17 was too
|
---|
1376 | hastily considered. Back it out.
|
---|
1377 |
|
---|
1378 | * configure.in: update to beta18.
|
---|
1379 |
|
---|
1380 | Wed Jul 15 01:02:15 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1381 |
|
---|
1382 | *** Version 3.01-beta17 released
|
---|
1383 |
|
---|
1384 | * djgpp/config.sed: tweak/simplify s,,, commands at end.
|
---|
1385 |
|
---|
1386 | * configure.in: update to beta17.
|
---|
1387 |
|
---|
1388 | 1998-07-14 Eli Zaretskii <eliz@is.elta.co.il>
|
---|
1389 |
|
---|
1390 | * djgpp/config.sed: Edit all the occurences of = in the context of
|
---|
1391 | --option=value, including in the help messages, into
|
---|
1392 | --option:value, but leave DOS-style d:/foo/bar file names intact.
|
---|
1393 |
|
---|
1394 | * djgpp/config.bat: Use --srcdir:foo instead of --srcdir=foo.
|
---|
1395 |
|
---|
1396 | * testsuite/Makefile.am (help, version): Remove temporary files
|
---|
1397 | explicitly, don't use shell wildcards, so it works under DOS 8+3
|
---|
1398 | limits.
|
---|
1399 |
|
---|
1400 | Thu Jul 9 13:06:00 PDT 1998 16:51:43 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1401 |
|
---|
1402 | *** Version 3.01-beta16 released
|
---|
1403 |
|
---|
1404 | * djgpp/config.sed: tweak the configure script to use :
|
---|
1405 | instead of = for --with-foo=bar option parsing, to
|
---|
1406 | work around problems with how command.com handles =s.
|
---|
1407 |
|
---|
1408 | Wed Jul 8 16:51:43 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1409 |
|
---|
1410 | * djgpp/config.bat: correct inappropriate behavior that I
|
---|
1411 | introduced in the beta13 changes (if first argument is
|
---|
1412 | a directory, it needs to be handled as the --srcdir).
|
---|
1413 |
|
---|
1414 | * testsuite/version.gin, testsuite/version.good, testsuite/Makefile.am:
|
---|
1415 | Add target to automake to automatically update version.good
|
---|
1416 | from (new file) version.gin, instead of hand-editing the version
|
---|
1417 | number each release.
|
---|
1418 |
|
---|
1419 | * testsuite/Makefile.am: miscellaneous gratuitious tweakage --
|
---|
1420 | mainly adding $(RM) commands just because I didn't like
|
---|
1421 | leaving the tmp* files from successful runs laying about.
|
---|
1422 | Also some editorial comments.
|
---|
1423 |
|
---|
1424 | * configure.in: update to beta16. Added and commented out
|
---|
1425 | experiment with AC_OUTPUT() for testsuite/version.good.
|
---|
1426 | Added code to properly handle bare (without =xxx)
|
---|
1427 | "--with-regex" option.
|
---|
1428 |
|
---|
1429 | Sun Jul 5 21:02:16 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1430 |
|
---|
1431 | *** Version 3.01-beta15 released
|
---|
1432 |
|
---|
1433 | * sed/utils.c(ck_fflush), sed/utils.h, sed/execute.c(output_line):
|
---|
1434 | add and use new ck_fflush() function.
|
---|
1435 |
|
---|
1436 | Sun Jul 5 15:23:47 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1437 |
|
---|
1438 | * sed/compile.c(bad_prog): add more detail to error
|
---|
1439 | messages about -e strings.
|
---|
1440 |
|
---|
1441 | Sun Jul 5 14:29:45 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1442 |
|
---|
1443 | * sed/compile.c(mark_subst_opts), sed/execute.c(do_subst):
|
---|
1444 | Define better semantics for interaction of the `g' flag
|
---|
1445 | with a numeric flag to the s/// command. It used to
|
---|
1446 | be that the `g' command siezed control; now the first
|
---|
1447 | (number-1) matches are skipped and then `g' gets control
|
---|
1448 | after that. (It is not clear whether this is a feature
|
---|
1449 | sneaking in during late beta, or a bug fix; the changes
|
---|
1450 | involved were trivial, so I decided to treat it as a bug
|
---|
1451 | fix.)
|
---|
1452 |
|
---|
1453 | * configure.in, testsuite/version.good: update to beta15.
|
---|
1454 |
|
---|
1455 | Sat Jul 4 09:54:45 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1456 |
|
---|
1457 | *** Version 3.01-beta14 released
|
---|
1458 |
|
---|
1459 | * sed/basicdefs.h, sed/compile.c, sed/execute.c:
|
---|
1460 | per report by "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>,
|
---|
1461 | copied the ISXXX macros from lib/regex.c so that
|
---|
1462 | silly machines which require isascii() to be true
|
---|
1463 | before the other isXXX() macros are valid will
|
---|
1464 | still work.
|
---|
1465 |
|
---|
1466 | * configure.in, testsuite/version.good: update to beta14.
|
---|
1467 |
|
---|
1468 | Thu Jul 2 23:46:13 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1469 |
|
---|
1470 | *** Version 3.01-beta13 released
|
---|
1471 |
|
---|
1472 | * configure.in, acconfig.h: set USE_REGEX_GNU_H symbol if we
|
---|
1473 | are going to be using lib/regex.c.
|
---|
1474 |
|
---|
1475 | * lib/Makefile.am, lib/regex.h, lib/regex-gnu.h, lib/regex.c:
|
---|
1476 | rename lib/regex.h to lib/regex-gnu.h, so that those who
|
---|
1477 | choose to use a different regex implementation will not
|
---|
1478 | pick-up lib/regex.h when doing "#include <regex.h>".
|
---|
1479 |
|
---|
1480 | * sed/regex-sed.h, sed/Makefile.am, sed/compile.c, sed/execute.c,
|
---|
1481 | sed/sed.c: create sed/regex-sed.h which acts as a switch
|
---|
1482 | to choose either lib/regex.h or the user-supplied <regex.h>,
|
---|
1483 | depending on the value passed to configure's --with-regex=
|
---|
1484 | option.
|
---|
1485 |
|
---|
1486 | Thu Jul 2 17:22:31 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1487 |
|
---|
1488 | * configure.in: if an alternative --with-regex= is given,
|
---|
1489 | do an AC_CHECK_FUNCS(regnexec regexec) to ensure that
|
---|
1490 | at least one of these functions is available. Also,
|
---|
1491 | parallel changes for the default case.
|
---|
1492 |
|
---|
1493 | * sed/execute.c, acconfig.h: retire use of the WITH_REGNEXEC
|
---|
1494 | test macro in favor of HAVE_REGNEXEC test macro created
|
---|
1495 | by above change.
|
---|
1496 |
|
---|
1497 | * djgpp/config.bat: Play games to handle "install-sh",
|
---|
1498 | DOS filename restrictions, GNU makefile default rules,
|
---|
1499 | and getting a correct run of "configure" (contributed
|
---|
1500 | by Eli Zaretskii <eliz@is.elta.co.il>).
|
---|
1501 |
|
---|
1502 | * djgpp/Makefile.am, testsuite/Makefile.am, testsuite/Makefile.in,
|
---|
1503 | Makefile.am, configure.in: Various automake targets
|
---|
1504 | (such as distcheck) failed with old configuration.
|
---|
1505 | The simplest solution was to just add these .am
|
---|
1506 | files. (The testsuite/Makefile.in was just renamed to
|
---|
1507 | testsuite/Makefile.am, then various redundant defines and
|
---|
1508 | targets were deleted.) (Reported by Erick Branderhorst
|
---|
1509 | <Erick.Branderhorst@asml.nl>.)
|
---|
1510 |
|
---|
1511 | * testsuite/dc.good, testsuite/dc.inp: per suggestion from
|
---|
1512 | Greg Ubben <gsu@romulus.ncsc.mil>, use base 16 output to
|
---|
1513 | exercise even more of the dc.sed script.
|
---|
1514 |
|
---|
1515 | * configure.in, testsuite/version.good: update to beta13.
|
---|
1516 |
|
---|
1517 | Sun Jun 28 16:21:02 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1518 |
|
---|
1519 | *** Version 3.01-beta12 released
|
---|
1520 |
|
---|
1521 | * doc/sed.texi: Avoid mixing @code and @samp markups together:
|
---|
1522 | they look ugly in Info. Use @url and @email instead of @example.
|
---|
1523 | Add indexes. (Basis of changes contributed by Eli Zaretskii.)
|
---|
1524 |
|
---|
1525 | * djgpp/*, Makefile.am: add support for the DJGPP compiler,
|
---|
1526 | contributed by Eli Zaretskii <eliz@is.elta.co.il>.
|
---|
1527 |
|
---|
1528 | * dc.sed, testsuite/Makefile.in, testsuite/dc.inp, testsuite/dc.good:
|
---|
1529 | added this remarkable script, written and contributed
|
---|
1530 | by Greg Ubben <gsu@romulus.ncsc.mil>, both as a work of
|
---|
1531 | art for general admiration, and also for use in regression
|
---|
1532 | testing.
|
---|
1533 |
|
---|
1534 | * configure.in, lib/Makefile.am: add --with-regex=regexlib
|
---|
1535 | option, which overrides the use of lib/regex.c.
|
---|
1536 |
|
---|
1537 | * configure.in, testsuite/version.good: update to beta12.
|
---|
1538 |
|
---|
1539 | Fri Jun 12 16:41:48 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1540 |
|
---|
1541 | *** Version 3.01-beta11 released
|
---|
1542 |
|
---|
1543 | * sed/compile.c: add module-static variables first_script
|
---|
1544 | (for #n change below) and pending_text (for a/c/i change
|
---|
1545 | below).
|
---|
1546 |
|
---|
1547 | * sed/compile.c(compile_file), sed/compile.c(compile_program):
|
---|
1548 | Instead of having #n trigger the -n option in *any file*,
|
---|
1549 | have #n trigger the -n option only if they are the first
|
---|
1550 | two bytes of the first script or script-file.
|
---|
1551 |
|
---|
1552 | * sed/compile.c(compile_string), sed/compile.c(compile_file):
|
---|
1553 | clear the first_script variable at end of these functions.
|
---|
1554 |
|
---|
1555 | * sed/sed.h: tease out the struct text_buf declaration from
|
---|
1556 | struct sed_cmd, so that a pointer to such can be passed
|
---|
1557 | to new sed/compile.c(read_text) function.
|
---|
1558 |
|
---|
1559 | * sed/compile.c(compile_program), sed/compile.c(read_text):
|
---|
1560 | Tease out handling of text to a/c/i commands to new
|
---|
1561 | read_text() function. Handle (via aid of pending_text
|
---|
1562 | variable) texts which span more than one script/script-file
|
---|
1563 | option. In particular, restore the ability to have this
|
---|
1564 | work: sed -e '1i\' -e 'foo'
|
---|
1565 |
|
---|
1566 | * sed/compile.c(check_final_program): close off any dangling
|
---|
1567 | pending_text allocation.
|
---|
1568 |
|
---|
1569 | Thu Jun 11 11:17:46 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1570 |
|
---|
1571 | * sed/execute.c(do_subst): fixed two bugs: s/ */X/g was failing
|
---|
1572 | to match the final empty string after the end of the pattern
|
---|
1573 | space; and /^foo$/s/o/x/3p was printing, despite the failure
|
---|
1574 | to do a substition.
|
---|
1575 |
|
---|
1576 | Fri Jun 5 04:40:24 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1577 |
|
---|
1578 | * configure.in: change the AC_ARG_WITH(regnexec, ...)
|
---|
1579 | to be the more appropriate AC_ARG_ENABLE(regnexec, ...).
|
---|
1580 |
|
---|
1581 | * configure.in, testsuite/version.good: update to beta11.
|
---|
1582 |
|
---|
1583 | Fri Jun 5 00:54:25 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1584 |
|
---|
1585 | *** Version 3.01-beta10 released
|
---|
1586 |
|
---|
1587 | * sed/execute.c: forgot to P_() the prototype and
|
---|
1588 | old-style the declaration for bootstrap_memchr()!
|
---|
1589 |
|
---|
1590 | Thu Jun 4 18:42:30 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1591 |
|
---|
1592 | * sed/compile.c(snarf_char_class): added code to
|
---|
1593 | recognize \n or \<newline> sequence within a
|
---|
1594 | char-class as the newline character.
|
---|
1595 |
|
---|
1596 | Tue Jun 2 11:56:02 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1597 |
|
---|
1598 | * configure.in: added check for <sys/types.h> and
|
---|
1599 | a AC_ARG_WITH(regnexec,...) check, to simplify use
|
---|
1600 | of other regex libraries which have regexec() but
|
---|
1601 | not regnexec(), with the corresponding loss of
|
---|
1602 | functionality (regexps will not work right against
|
---|
1603 | input lines which contain NULs).
|
---|
1604 |
|
---|
1605 | * sed/execute.c: add nul_append() function, a #define
|
---|
1606 | for a regnexec() -> regexec() macro (conditional on
|
---|
1607 | the lack of the WITH_REGNEXEC symbol), and a couple
|
---|
1608 | of calls to nul_append() (in match_an_address_p()
|
---|
1609 | and do_subst()) to permit the use of the POSIX standard
|
---|
1610 | regexec() function call instead of the suggested
|
---|
1611 | regnexec() call.
|
---|
1612 |
|
---|
1613 | * sed/compile.c, sed/execute.c, sed/sed.c: check for
|
---|
1614 | <sys/types.h> and include it (before "regex.h") if
|
---|
1615 | available. This makes it simpler to use the system's
|
---|
1616 | regex library instead of the one in lib/regex.c, should
|
---|
1617 | that be desired.
|
---|
1618 |
|
---|
1619 | Tue Jun 2 08:41:05 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1620 |
|
---|
1621 | * sed/basicdefs.h: define VCAST macros to allow sed to
|
---|
1622 | compile on systems which predate the definition
|
---|
1623 | of "void *", and yet still get feedback about
|
---|
1624 | stupid programming errors from systems which *do*
|
---|
1625 | know about "void *"s. Also define MALLOC, REALLOC,
|
---|
1626 | MEMDUP, and FREE macros to keep under control the
|
---|
1627 | degree of code ugliness which would otherwise be
|
---|
1628 | introduced in making use of the VCAST macro.
|
---|
1629 |
|
---|
1630 | * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c:
|
---|
1631 | pervasively use the new VCAST, MALLOC, REALLOC, MEMDUP,
|
---|
1632 | and FREE macros wherever appropriate.
|
---|
1633 |
|
---|
1634 | * sed/utils.c, sed/utils.h: correct type of first arguments
|
---|
1635 | to ck_fread() and ck_fwrite() to be [const] VOID *.
|
---|
1636 |
|
---|
1637 | * sed/basicdefs.h, sed/execute.c: protect against
|
---|
1638 | the rumored systems which stupidly #define __STDC__ 0.
|
---|
1639 |
|
---|
1640 | * testsuite/help.good, testsuite/Makefile.in: make
|
---|
1641 | the ``help'' test insensitive to the spelling of
|
---|
1642 | the executable's name. Also, enhanced `make clean'
|
---|
1643 | target.
|
---|
1644 |
|
---|
1645 | * doc/sed.texi, doc/sed.1: correct documentation of `q'
|
---|
1646 | command; fix typos.
|
---|
1647 |
|
---|
1648 | * configure, testsuite/version.good: update to beta10.
|
---|
1649 |
|
---|
1650 | Sat May 30 17:28:00 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1651 |
|
---|
1652 | *** Version 3.01-beta9 released
|
---|
1653 |
|
---|
1654 | * Makefile.am: make testsuite a normal SUBDIR.
|
---|
1655 |
|
---|
1656 | * configure.in: discontinue using AC_ISC_POSIX --
|
---|
1657 | check for -lcposix library instead; added
|
---|
1658 | testsuite/Makefile to AC_OUTPUT list.
|
---|
1659 |
|
---|
1660 | * lib/memmove.c(memmove): fixed wrong sense used
|
---|
1661 | for HAVE_BCOPY test.
|
---|
1662 |
|
---|
1663 | * sed/execute.c: checked more specifically for a version
|
---|
1664 | of gcc which supports __attribute__ (i.e., >= 2.7).
|
---|
1665 |
|
---|
1666 | * testsuite/*: renamed files to fit 14 char limit.
|
---|
1667 |
|
---|
1668 | * testsuite/Makefile, testsuite/Makefile.in: Makefile
|
---|
1669 | renamed to Makefile.in and then modified so that
|
---|
1670 | "make -j check" from top directory will work.
|
---|
1671 |
|
---|
1672 | * testsuite/subwrite.sed, testsuite/writeout.sed: changed
|
---|
1673 | file name of the "w" command to be consistent with the
|
---|
1674 | new naming used in testsuite/Makefile.in.
|
---|
1675 |
|
---|
1676 | * doc/sed.1, doc/sed.texi: fixed some typos, formatting
|
---|
1677 | glitches, and poor wordings.
|
---|
1678 |
|
---|
1679 | Sat May 30 04:02:29 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1680 |
|
---|
1681 | * configure.in: specify that config.h is to be derived
|
---|
1682 | from config_h.in in order to avoid the braindead
|
---|
1683 | DOS filesystem limitations.
|
---|
1684 |
|
---|
1685 | Fri May 29 21:56:30 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1686 |
|
---|
1687 | * sed/compile.c(compile_address), doc/sed.texi: gave
|
---|
1688 | a better definition to the meaning of N~0 address
|
---|
1689 | forms -- N~M addresses now mean that lines match
|
---|
1690 | when there exists a non-negative x such that
|
---|
1691 | lineno == N+x*M.
|
---|
1692 |
|
---|
1693 | Fri May 29 12:07:38 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1694 |
|
---|
1695 | * sed/compile.c(compile_address),
|
---|
1696 | sed/execute.c(match_an_address_p): update semantics of
|
---|
1697 | N~M address form: now N is the first line which will
|
---|
1698 | match and M is the step between succeeding matches.
|
---|
1699 | If N<M this works out to the same as before, but the
|
---|
1700 | new behavior for N>=M seems more useful.
|
---|
1701 |
|
---|
1702 | * doc/sed.1, doc/sed.texi: update documentation of N~M
|
---|
1703 | address form; added "Other Resources" node to sed.texi;
|
---|
1704 | minor formatting changes to some items in sed.1 with
|
---|
1705 | an eye to improving clarity.
|
---|
1706 |
|
---|
1707 | * configure.in, testsuite/version.good: update to beta9.
|
---|
1708 |
|
---|
1709 | Sat May 23 20:04:31 HST 1998 Ken Pizzini <ken@gnu.org>
|
---|
1710 |
|
---|
1711 | *** Version 3.01-beta8 released
|
---|
1712 |
|
---|
1713 | * sed/compile.c(compile_regex): forgot to make last_re be
|
---|
1714 | a *copy* of the buffered text in today's earlier fix.
|
---|
1715 |
|
---|
1716 | * sed/execute.c(read_file_line): EOF check was wrong --
|
---|
1717 | it forgot to allow for the possibility that we were
|
---|
1718 | appending to the end of the ``line'' (instead of merely
|
---|
1719 | reading a fresh line).
|
---|
1720 |
|
---|
1721 | Sat May 23 18:07:18 HST 1998 Ken Pizzini <ken@gnu.org>
|
---|
1722 |
|
---|
1723 | * sed/compile.c(compile_regex): don't track compiled version
|
---|
1724 | of regex -- the modifiers may change. Track the regex
|
---|
1725 | source instead. (For "last regex" (aka //) notation.)
|
---|
1726 |
|
---|
1727 | * configure.in, testsuite/version.good: update to beta8.
|
---|
1728 |
|
---|
1729 | Sat May 23 16:07:09 HST 1998 Ken Pizzini <ken@gnu.org>
|
---|
1730 |
|
---|
1731 | *** Version 3.01-beta7 released
|
---|
1732 |
|
---|
1733 | * sed/execute.c: #undef'd EXPERIMENTAL_DASH_N_OPTIMIZATION
|
---|
1734 | because its code is buggy.
|
---|
1735 |
|
---|
1736 | Tue May 19 17:03:52 HST 1998 Ken Pizzini <ken@gnu.org>
|
---|
1737 |
|
---|
1738 | * sed/sed.c: label rx library code as such with #ifdefs
|
---|
1739 | (instead of just #if 0).
|
---|
1740 |
|
---|
1741 | * sed/compile.c(compile_program): make incremental
|
---|
1742 | improvement to the "Unknown command" error message.
|
---|
1743 |
|
---|
1744 | Sat May 16 23:16:26 HST 1998 Ken Pizzini <ken@gnu.org>
|
---|
1745 |
|
---|
1746 | * testsuite/Makefile: simplify: get rid of automatic run
|
---|
1747 | against system's sed; don't time by default; allow for
|
---|
1748 | alternative comparison command.
|
---|
1749 |
|
---|
1750 | * configure.in, testsuite/version.good: update to beta7.
|
---|
1751 |
|
---|
1752 | Wed May 13 21:44:28 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1753 |
|
---|
1754 | *** Version 3.01-beta6 released
|
---|
1755 |
|
---|
1756 | * lib/Makefile.am: fix spelling of libsed_a_LIBADD in
|
---|
1757 | libsed_a_DEPENDENCIES.
|
---|
1758 |
|
---|
1759 | * configure.in, testsuite/version.good: update to beta6.
|
---|
1760 |
|
---|
1761 | Wed May 13 14:38:08 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1762 |
|
---|
1763 | *** Version 3.01-beta5 released
|
---|
1764 |
|
---|
1765 | * sed/execute.c(do_subst): added not_bol_p variable to track when
|
---|
1766 | we have iterated past the beginning of the pattern.
|
---|
1767 | [Thanks to Jim Meyering <meyering@ascend.com> for the bug report.]
|
---|
1768 |
|
---|
1769 | Wed May 13 13:54:04 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1770 |
|
---|
1771 | * sed/execute.c(bootstrap_memchr): new function. When
|
---|
1772 | bootstrapping we don't know if we are on a 64-bit machine,
|
---|
1773 | so lib/memchr.c breaks. Supply this (slow) implementation
|
---|
1774 | just to get us bootstrapped.
|
---|
1775 |
|
---|
1776 | * bootstrap.sh: add a #define BOOTSTRAP symbol; add -I.
|
---|
1777 | for emphasis for the compiles in sed/; be explicit
|
---|
1778 | about what files we're bothering to compile.
|
---|
1779 |
|
---|
1780 | * configure.in, testsuite/version.good: update version
|
---|
1781 | to beta5.
|
---|
1782 |
|
---|
1783 | Wed May 13 06:39:06 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1784 |
|
---|
1785 | *** Version 3.01-beta4 released
|
---|
1786 |
|
---|
1787 | * rename writeout.good? to wrtout?.good and subwrite.good? to
|
---|
1788 | subwrt?.good to comply with DOS 8+3 file name restrictions.
|
---|
1789 | [Eli Zaretskii <eliz@is.elta.co.il> suggested this to
|
---|
1790 | simplify DJGPP ports, and it was easy.]
|
---|
1791 |
|
---|
1792 | * testsuite/Makefile: reflect above name changes.
|
---|
1793 |
|
---|
1794 | Wed May 12 21:09:32 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1795 |
|
---|
1796 | * sed/sed.c(usage): fix non-portable omission of \n\ at end of
|
---|
1797 | lines within long string.
|
---|
1798 |
|
---|
1799 | * sed/sed.c(main): remove spurious argument to fprintf() in the
|
---|
1800 | 'V'ersion output.
|
---|
1801 |
|
---|
1802 | * sed/execute.c(line_append): embed newline between the two
|
---|
1803 | text fragments unconditionally.
|
---|
1804 |
|
---|
1805 | * sed/execute.c(do_subst): change structure assignment to memcpy()
|
---|
1806 | (for portability reasons).
|
---|
1807 |
|
---|
1808 | * README.bootstrap: suggest using -w option.
|
---|
1809 |
|
---|
1810 | Tue May 12 10:02:37 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1811 |
|
---|
1812 | * configure.in: use AC_REPLACE_FUNCS where appropriate.
|
---|
1813 |
|
---|
1814 | * lib/Makefile.am: updated to reflect AC_REPLACE_FUNCS change in
|
---|
1815 | configure.in.
|
---|
1816 |
|
---|
1817 | * lib/memchr.c lib/memcmp.c: revert to standard GNU versions.
|
---|
1818 |
|
---|
1819 | * lib/alloca.c: added this missing file.
|
---|
1820 |
|
---|
1821 | * testsuite/version.good: updated for new version identifier.
|
---|
1822 |
|
---|
1823 | Mon May 11 18:50:56 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1824 |
|
---|
1825 | *** Version 3.01-beta3 released
|
---|
1826 |
|
---|
1827 | * sed/Makefile.am: fix INCLUDES to work right with VPATH.
|
---|
1828 | [Thanks to Jim Meyering <meyering@ascend.com> for the bug report.]
|
---|
1829 |
|
---|
1830 | * sed/sed.c(usage): make --help output more user-friendly?
|
---|
1831 |
|
---|
1832 | * sed/execute.c(execute_program): fix bug in 'x' command introduced
|
---|
1833 | in the alleged portability fix of May 9.
|
---|
1834 |
|
---|
1835 | * configure.in: update version to 3.01-beta3.
|
---|
1836 |
|
---|
1837 | * testsuite/version.good, testsuite/help.good: freshen with
|
---|
1838 | latest output.
|
---|
1839 |
|
---|
1840 | Sat May 9 22:35:45 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1841 |
|
---|
1842 | *** Version 3.01-beta2 released
|
---|
1843 |
|
---|
1844 | * sed/sed.c: add #include <sys/types.h> in HAVE_MMAP
|
---|
1845 | block (needed on some machines).
|
---|
1846 |
|
---|
1847 | * lib/memmove.c: #include <memory.h>, if HAVE_MEMORY_H.
|
---|
1848 |
|
---|
1849 | Sat May 9 21:29:00 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1850 |
|
---|
1851 | * configure.in: remove dangling references to rx library;
|
---|
1852 | added HEADER and FUNC checks for items used by source in
|
---|
1853 | lib/.
|
---|
1854 |
|
---|
1855 | * lib/ansidecl.h, lib/memcopy.h, lib/pagecopy.h, lib/string.h
|
---|
1856 | lib/memcpy.c, lib/memmove.c: deletes these files. There
|
---|
1857 | are still pieces of glibc missing to support these, and
|
---|
1858 | it isn't worth the headache right now.
|
---|
1859 |
|
---|
1860 | * lib/memmove.c: de novo, simpler version. Uses bcopy()
|
---|
1861 | if available, and slow-but-simple code if not.
|
---|
1862 |
|
---|
1863 | * lib/Makefile.am: remove references to deleted files.
|
---|
1864 | Added forgotten reference to memcpy.c. Re-ordered
|
---|
1865 | SOURCE entries to reflect dependencies for systems
|
---|
1866 | which lack ranlib.
|
---|
1867 |
|
---|
1868 | * sed/basicdefs.h: updated to reflect above changes to lib/,
|
---|
1869 | and experience with non-STDC compilers.
|
---|
1870 |
|
---|
1871 | * lib/regex.c: made regerror() function publicly visible.
|
---|
1872 |
|
---|
1873 | * lib/strerror.c: use old-style function declaration.
|
---|
1874 |
|
---|
1875 | * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c,
|
---|
1876 | sed/sed.h, sed/utils.h: ensure that private definitions of
|
---|
1877 | some symbols do not cause problems when #include'ing system
|
---|
1878 | headers (mainly by re-ordering the #include directives).
|
---|
1879 | (This is particularly an issue for bootstrap.sh runs.)
|
---|
1880 |
|
---|
1881 | * sed/execute.c (execute_program): use memcpy() instead of
|
---|
1882 | structure assingment ('x' command), for portablility to
|
---|
1883 | old compilers.
|
---|
1884 |
|
---|
1885 | * sed/execute.c (slow_getline): use old-style function
|
---|
1886 | declaration, with a P_ prototype.
|
---|
1887 |
|
---|
1888 | * sed/sed.c: change the type of the fallback MAP_FAILED
|
---|
1889 | definition to work on archaic systems. (Modern systems
|
---|
1890 | should be defining it themselves, so the change from
|
---|
1891 | void * shouldn't be a problem.)
|
---|
1892 |
|
---|
1893 | * bootstrap.sh, README.bootstrap: actual testing of bootstrap
|
---|
1894 | code revealed that I was too optimistic. Redesigned and
|
---|
1895 | replaced implementation.
|
---|
1896 |
|
---|
1897 | * testsuite/Makefile: ignore errors from reference-implementation
|
---|
1898 | seds that aren't up to snuff.
|
---|
1899 |
|
---|
1900 | * testsuite/help.good, testsuite/version.good: update to
|
---|
1901 | current version's output.
|
---|
1902 |
|
---|
1903 | Fri May 8 15:08:28 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1904 |
|
---|
1905 | *** Version 3.01-beta1 released
|
---|
1906 |
|
---|
1907 | * sed/sed.c (main, usage): once again tweak the --help and
|
---|
1908 | --version output to bettery comply with GNU coding standards.
|
---|
1909 |
|
---|
1910 | * testsuite/help.good, testsuite/version.good: update to
|
---|
1911 | reflect above change.
|
---|
1912 |
|
---|
1913 | * doc/sed.texi: fix "Invoking" node's spelling to comply
|
---|
1914 | with GNU standards.
|
---|
1915 |
|
---|
1916 | Fri May 8 11:43:10 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1917 |
|
---|
1918 | * doc/sed.1, doc/Makefile.am: wrote (very basic) man page.
|
---|
1919 |
|
---|
1920 | Thu May 7 20:40:21 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1921 |
|
---|
1922 | * lib/Makefile.am, lib/memmove.c, lib/memchr.c, lib/regex.c,
|
---|
1923 | lib/memcpy.c, lib/regex.h, lib/memcopy.h, lib/string.h,
|
---|
1924 | lib/pagecopy.h, lib/ansidecl.h: grab yet-another-version
|
---|
1925 | from gnu.org for baseline and/or edit copyright boilerplate
|
---|
1926 | using official lgpl2gpl.sed script. Take care not to
|
---|
1927 | loose regnexec() interface or special conditional-compilation
|
---|
1928 | code.
|
---|
1929 |
|
---|
1930 | Wed May 6 23:35:12 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1931 |
|
---|
1932 | * lib/regex.c, lib/regex.h: take from grep-2.1 distribution,
|
---|
1933 | then trivially added the regnexec() interface.
|
---|
1934 |
|
---|
1935 | * sed/sed.c, sed/compile.c, sed/execute.c: made modifications
|
---|
1936 | to work with regex instead of rx.
|
---|
1937 |
|
---|
1938 | * rx/*: deleted directory; the code is just too slow.
|
---|
1939 | I think it will be easier to extend regex to fully
|
---|
1940 | support POSIX.2 than to tune rx to be reasonable.
|
---|
1941 | Even if this supposition is wrong, I'd rather make
|
---|
1942 | the 3.01 release with the slightly deficient regex.
|
---|
1943 |
|
---|
1944 | * Makefile.am lib/Makefile.am, sed/Makefile.am: made changes
|
---|
1945 | related to the substitution of regex for rx.
|
---|
1946 |
|
---|
1947 | * lib/Makefile.am, sed/Makefile.am: since regex is not a
|
---|
1948 | ``compatability'' module, changed name of library to
|
---|
1949 | ``libsed.a''.
|
---|
1950 |
|
---|
1951 | * lib/memchr.c, lib/memcpy.c, lib/memmove.c: add conditional
|
---|
1952 | compilation code to leave zero-sized .o file if system
|
---|
1953 | already supports the implemented function.
|
---|
1954 |
|
---|
1955 | * testsuite/help.good, testsuite/version.good: brought
|
---|
1956 | up-to-date (once again).
|
---|
1957 |
|
---|
1958 | * NEWS, ANNOUNCE: changes to reflect this batch of changes.
|
---|
1959 |
|
---|
1960 | Wed May 6 18:40:47 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1961 |
|
---|
1962 | * sed/execute.c: discovered awful bug in '}' handling:
|
---|
1963 | it could read past the end of vec (because `n' was
|
---|
1964 | being decremented below zero)! Needed to "continue"
|
---|
1965 | instead of "break".
|
---|
1966 |
|
---|
1967 | Tue May 5 14:34:38 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1968 |
|
---|
1969 | * doc/sed.texi, doc/version.texi: wrote some rudimentary
|
---|
1970 | texinfo documentation.
|
---|
1971 |
|
---|
1972 | * ANNOUNCE, NEWS, README, README.rx, Makefile.am:
|
---|
1973 | more updates for the upcoming beta-release.
|
---|
1974 |
|
---|
1975 | * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c,
|
---|
1976 | sed/sed.h, lib/strerror.c: update copyright notice text.
|
---|
1977 |
|
---|
1978 | Fri May 1 15:41:37 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
1979 |
|
---|
1980 | * sed/execute.c (match_an_address_p, match_address_p): if
|
---|
1981 | the second element of an address range is a line number,
|
---|
1982 | and that line number is *less than* (or equal to) the
|
---|
1983 | current line number, we only match the one line (per
|
---|
1984 | POSIX.2, section 4.55.7.1). [Bug discovered as reported
|
---|
1985 | in the seders mailing list FAQ.]
|
---|
1986 |
|
---|
1987 | * AUTHORS, NEWS, acconfig.h, configure.in, doc/Makefile.am,
|
---|
1988 | lib/Makefile.am, sed/Makefile.am, lib/README,
|
---|
1989 | testsuite/help.good, testsuite/version.good:
|
---|
1990 | Updated in anticipation of the 3.01-beta1 release.
|
---|
1991 | Reorganized development source tree to make creation
|
---|
1992 | of a distribution simpler. Most notable changes were
|
---|
1993 | to the various Makefile.am files and configure.in, but
|
---|
1994 | some minor edits (such as deleting or changing #include
|
---|
1995 | directives) have been made in many other source files.
|
---|
1996 |
|
---|
1997 | * bootstrap.sh, README.bootstrap: created a mechanism for
|
---|
1998 | creating sed on a system which lacks a working sed.
|
---|
1999 |
|
---|
2000 | Thu Apr 16 23:52:11 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
2001 |
|
---|
2002 | * sed.h, sed.c, execute.c, compile.c: did a spell-check on
|
---|
2003 | the comments; fixed several typos.
|
---|
2004 |
|
---|
2005 | Thu Apr 16 13:43:01 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
2006 |
|
---|
2007 | * execute.c (do_subst): fixed bug where the "replaced" flag
|
---|
2008 | was being set to one inappropriately when at least one
|
---|
2009 | but fewer than sub->numb matches of the regexp were found.
|
---|
2010 | (Thanks to Simon Taylor <staylor@hermes.iaccess.com.au>
|
---|
2011 | for the bug report.)
|
---|
2012 |
|
---|
2013 | Wed Apr 15 11:35:31 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
2014 |
|
---|
2015 | * sed.h, sed.c, compile.c, execute.c: having a concern that
|
---|
2016 | a cast was being done inappropriately, and realizing that
|
---|
2017 | there is no quick way to locate all casts in a program, I
|
---|
2018 | went through and marked all casts with a simple macro.
|
---|
2019 | Now it is a simple matter to locate the casts, and it is
|
---|
2020 | also a simple matter to turn of casts for a lint session
|
---|
2021 | (if it should be desired).
|
---|
2022 |
|
---|
2023 | Wed Apr 15 10:29:21 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
2024 |
|
---|
2025 | * compile.c, sed.c: redo compile phase so that brace
|
---|
2026 | expressions can be spread across multiple files.
|
---|
2027 | For example:
|
---|
2028 | printf '{' >a; printf 'l;d' >b; printf '}' >c
|
---|
2029 | sed -f a -f b -f c foo
|
---|
2030 | will now compile (and work), instead of complaining
|
---|
2031 | about an unmatched '{'. The mess created in compile.c
|
---|
2032 | allowed a little simplification to the command-line
|
---|
2033 | processing of "-e" options in sed.c.
|
---|
2034 |
|
---|
2035 | sed.h: added (opaque) err_info member to struct vector;
|
---|
2036 | added comments to the members of struct vector.
|
---|
2037 |
|
---|
2038 | Wed Apr 14 23:50:50 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
2039 |
|
---|
2040 | * sed.h, sed.c, compile.c, execute.c: added types countT and
|
---|
2041 | flagT in order to clarify what various "int"s were doing.
|
---|
2042 | Also makes it easy to change the type used for counts
|
---|
2043 | (for example, to "unsigned long long") if desired, although
|
---|
2044 | there are still some gotchas (such as the printf() format
|
---|
2045 | for the '=' command).
|
---|
2046 |
|
---|
2047 | Tue Apr 14 17:34:54 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
2048 |
|
---|
2049 | * execute.c (execute_program, process_files, count_branches,
|
---|
2050 | shrink_program): Added a first attempt at program optimization.
|
---|
2051 | We now can quit early if we are running with the "-n"
|
---|
2052 | and all of the commands are known to be valid only for
|
---|
2053 | lines less than the current line. Thus the "sed" in
|
---|
2054 | "foo | sed -n 1,2p" will print read three lines, printint
|
---|
2055 | the first two, and then quit, regardless of how much longer
|
---|
2056 | "foo" might run or output. This optimization does not buy
|
---|
2057 | much in most cases (it sometimes even costs a little),
|
---|
2058 | but when it does help it can help big. The code is
|
---|
2059 | all conditionally compiled based on the
|
---|
2060 | EXPERIMENTAL_DASH_N_OPTIMIZATION symbol being #defined,
|
---|
2061 | so it can be easily omitted if it causes problems.
|
---|
2062 |
|
---|
2063 | Tue Apr 14 12:25:06 PDT 1998 Ken Pizzini <ken@gnu.org>
|
---|
2064 |
|
---|
2065 | * execute.c (test_dollar_EOF, last_file_with_data_p):
|
---|
2066 | test_dollar_EOF() was incorrectly returning a false (0)
|
---|
2067 | when there were unprocessed files, none of which had any
|
---|
2068 | data (either unopenable or zero-length). Created
|
---|
2069 | last_file_with_data_p() to detect this situation, and
|
---|
2070 | modified test_dollar_EOF() to make use of it.
|
---|
2071 |
|
---|
2072 | Thu Apr 2 23:02:18 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
2073 |
|
---|
2074 | * compile.c (match_slash): match_slash() did not handle
|
---|
2075 | [.coll.], [=equiv=], and [:class:] sequences within a
|
---|
2076 | character class. Added snarf_char_class() [which is a
|
---|
2077 | remote derivative of parse_char_class() from GNU ed-0.2]
|
---|
2078 | to deal with the details, and altered match_slash()
|
---|
2079 | to make use of it. Also created the trivial
|
---|
2080 | add_then_next() to avoid clutter in snarf_char_class().
|
---|
2081 |
|
---|
2082 | Thu Apr 2 20:34:42 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
2083 |
|
---|
2084 | * execute.c, sed.c, sed.h: There was a severe bug in
|
---|
2085 | how the code handled "sed 5n a b" when "a" consists
|
---|
2086 | of exactly five lines -- it behaved like "sed 5q a b"!
|
---|
2087 |
|
---|
2088 | Rearranged where files get opened -- large scale
|
---|
2089 | changes primarily involving main(), process_files(),
|
---|
2090 | and read_pattern_space(), but also touching on several
|
---|
2091 | other parts of execute.c. The read_pattern_space()
|
---|
2092 | function became unwieldly and parts were split into
|
---|
2093 | open_next_file(), closedown(), read_always_fail(),
|
---|
2094 | read_mem_line(), and read_file_line(). The
|
---|
2095 | at_end_of_file_p() function became obsolete and was
|
---|
2096 | eliminated; test_dollar_EOF_p() was updated. A few
|
---|
2097 | global and module-static variables were elminated, and
|
---|
2098 | "struct line" was extended; comments were added to the
|
---|
2099 | "struct line" declartation to document some important
|
---|
2100 | dependencies in it.
|
---|
2101 |
|
---|
2102 | I undertook the reorganization with dread, but I
|
---|
2103 | feel that the new organization is an improvement
|
---|
2104 | well beyond just fixing the bug that inspired it.
|
---|
2105 |
|
---|
2106 | Thu Apr 2 01:16:25 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
2107 |
|
---|
2108 | * execute.c (read_file_line, slow_getline): the fread()
|
---|
2109 | buffering code gives insufficient feedback to a user
|
---|
2110 | running sed with a tty input device, so I created
|
---|
2111 | slow_getline() for reading from a tty device.
|
---|
2112 | Additionally, EOF detection has been made a little more
|
---|
2113 | sensitive to avoid requiring multiple EOFs to be entered
|
---|
2114 | from a tty.
|
---|
2115 |
|
---|
2116 | * configure.in: added isatty() check.
|
---|
2117 |
|
---|
2118 | Wed Apr 1 11:04:30 PST 1998 Ken Pizzini <ken@gnu.org>
|
---|
2119 |
|
---|
2120 | * configure.in (CPPFLAGS, LDFLAGS, LIBS):
|
---|
2121 | Set to appropriate values if large file support needs
|
---|
2122 | explicit enabling. Code fragment taken from a 1997-10-25
|
---|
2123 | patch to gawk by Paul Eggert <eggert@twinsun.com>
|
---|
2124 |
|
---|
2125 | Thu Aug 14 17:43:27 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2126 |
|
---|
2127 | * utils.c (ck_fclose): modified to ignore NULL parameter.
|
---|
2128 |
|
---|
2129 | Thu Aug 14 12:08:45 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2130 |
|
---|
2131 | * execute.c: tweaked execute_program() to eliminate
|
---|
2132 | gratuitous "goto" usage.
|
---|
2133 |
|
---|
2134 | Thu Aug 14 11:30:04 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2135 |
|
---|
2136 | * compile.c: added case-insensitive modifier ('I') to
|
---|
2137 | address and s/// regexps. The s/// case also accepts
|
---|
2138 | the more popular 'i' modifier. (The address regexp
|
---|
2139 | cannot use 'i' as a modifier, as that conflicts with
|
---|
2140 | the use of the 'i'nsert command.)
|
---|
2141 |
|
---|
2142 | Thu Aug 14 09:29:06 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2143 |
|
---|
2144 | * compile.c: abstracted out match_slash() from the s///, y///,
|
---|
2145 | and address-regexp special-case codes.
|
---|
2146 |
|
---|
2147 | * execute.c: made dump_append_queue() use ck_fread() instead
|
---|
2148 | of hand-rolled error checking.
|
---|
2149 |
|
---|
2150 | Mon Jul 28 10:50:41 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2151 |
|
---|
2152 | * sed.c, sed.h, execute.c: POSIX.2, section 4.55.7, says that
|
---|
2153 | a newline must end *every* output line. But I think that
|
---|
2154 | it is useful (when seding a binary file) to omit a trailing
|
---|
2155 | newline if the input lacks one. Thus the addition of
|
---|
2156 | POSIXLY_CORRECT behavior.
|
---|
2157 |
|
---|
2158 | * execute.c: however, when seding multiple files my feeling
|
---|
2159 | is that it makes sense to have each file but the last
|
---|
2160 | behave as-if it ended in a newline. Modified read_pattern_space()
|
---|
2161 | accordingly.
|
---|
2162 |
|
---|
2163 | * utils.c: realized that add1_buffer(), for performance reasons,
|
---|
2164 | shouldn't be calling memcpy() (indirectly via add_buffer()),
|
---|
2165 | so rewrote it.
|
---|
2166 |
|
---|
2167 | Sat Jul 26 23:08:28 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2168 |
|
---|
2169 | * execute.c: attempted to make read_pattern_space more
|
---|
2170 | efficient for the the non-mmap() case.
|
---|
2171 |
|
---|
2172 | * utils.c, utils.h, execute.c: new function ck_fread()
|
---|
2173 | created and used.
|
---|
2174 |
|
---|
2175 | Sat Jul 26 20:22:14 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2176 |
|
---|
2177 | * execute.c, compile.c, sed.c: abstracted the mmap()
|
---|
2178 | interface into map_file()/unmap_file() [sed.c], and
|
---|
2179 | changed the ad-hoc code in compile_file() [compile.c]
|
---|
2180 | and process_file() [execute.c] to make use of the new
|
---|
2181 | interface.
|
---|
2182 |
|
---|
2183 | Sat Jul 26 19:45:46 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2184 |
|
---|
2185 | * execute.c, compile.c, configure.in: Check to see if mmap()
|
---|
2186 | is available; if so make use of it on regular files.
|
---|
2187 |
|
---|
2188 | * compile.c: compile_file() now closes the input file
|
---|
2189 | when it is through!
|
---|
2190 |
|
---|
2191 | Sun Jul 20 23:57:02 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2192 |
|
---|
2193 | * compile.c: modified parsing to permit whitespace in more
|
---|
2194 | places where it makes sense;
|
---|
2195 | added backslash escaping to the y/// command, per POSIX.
|
---|
2196 |
|
---|
2197 | * execute.c: Merged append_pattern_space() into read_pattern_space();
|
---|
2198 | moved body of 's' command to new function do_subst();
|
---|
2199 | moved body of 'l' command to new function do_list();
|
---|
2200 | changed output of 'l' command to conform to POSIX.2;
|
---|
2201 | made line handling conform to POSIX; added output_line() function;
|
---|
2202 | redesigned append-space algorithm; added append_queue structure and
|
---|
2203 | the next_append_slot() and dump_append_queue() functions.
|
---|
2204 |
|
---|
2205 | * sed.h: moved the definition of what is now struct subst
|
---|
2206 | outside of the definition of struct sed_cmd.
|
---|
2207 |
|
---|
2208 | Sat Jul 19 16:29:09 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2209 |
|
---|
2210 | * sed.c, execute.c, sed.h, Makefile.am: Separated out the
|
---|
2211 | pieces dealing with executing the program from the top-level
|
---|
2212 | parameter parsing and control.
|
---|
2213 |
|
---|
2214 | Sat Jul 19 01:16:35 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2215 |
|
---|
2216 | * sed.c, compile.c, sed.h, Makefile.am: separate out the
|
---|
2217 | pieces dealing with compiling the program from the pieces
|
---|
2218 | dealing with interpreting the result.
|
---|
2219 |
|
---|
2220 | * compile.c: add functions in_nonblank() and in_integer(),
|
---|
2221 | and change interface to compile_address() with an eye
|
---|
2222 | to making code clearer.
|
---|
2223 |
|
---|
2224 | Fri Jul 18 13:35:50 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2225 |
|
---|
2226 | * utils.c: attempt at a quasi-unification of the
|
---|
2227 | STDC and traditional C approaches to panic().
|
---|
2228 |
|
---|
2229 | * sed.c: eliminate some gratuitous bit twiddling.
|
---|
2230 | (Using flag bits can be a useful technique, but
|
---|
2231 | this code is cleaner without them.)
|
---|
2232 |
|
---|
2233 | * sed.c: place mutually exclusive members of struct addr
|
---|
2234 | within a union, mainly to document the exclusivity;
|
---|
2235 | eliminate unused structure members from struct fp_list;
|
---|
2236 | eliminate unnecessary module-global variables;
|
---|
2237 | remove some #if 0 code that is too odd to keep;
|
---|
2238 | allegedly simplified the 'l' case of execute_program();
|
---|
2239 | allegedly simplified inchar();
|
---|
2240 | localized some static variables;
|
---|
2241 | renamed some variables to better document their purpose;
|
---|
2242 | removed some goto-s rendered obsolete by other changes.
|
---|
2243 |
|
---|
2244 | Thu Jul 17 15:30:44 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2245 |
|
---|
2246 | * utils.c, utils.h, sed.c: added and made use of
|
---|
2247 | ck_free() function.
|
---|
2248 |
|
---|
2249 | * utils.c, utils.h, sed.c: changed all the *_buffer()
|
---|
2250 | functions to take/return an incomplete type
|
---|
2251 | "struct buffer *" instead of using VOID *.
|
---|
2252 |
|
---|
2253 | * utils.c, utils.h, sed.c: renamed "finish_buffer()"
|
---|
2254 | to "free_buffer()", on the premise that the new
|
---|
2255 | name better describes the function's purpose.
|
---|
2256 |
|
---|
2257 | Wed Jul 16 13:52:14 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2258 |
|
---|
2259 | * utils.c, utils.h, sed.c: added and made use of
|
---|
2260 | ck_memdup() function.
|
---|
2261 |
|
---|
2262 | * sed.c: protected a call to add1_buffer() in
|
---|
2263 | compile_program() which could have tried to
|
---|
2264 | push an EOF if a a/i/c command ended with
|
---|
2265 | a '\', EOF sequence.
|
---|
2266 |
|
---|
2267 | * utils.c: added sanity check to add1_buffer() so that
|
---|
2268 | EOF will not be added to the buffer.
|
---|
2269 |
|
---|
2270 | Wed Jul 16 03:56:26 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2271 |
|
---|
2272 | * configure.in, compat.h, compat.c: added memchr.
|
---|
2273 |
|
---|
2274 | * sed.c: got rid of arbitrary NUM_FPS limit;
|
---|
2275 | made global functions and variables "static" where appropriate;
|
---|
2276 | make various cosmetic changes, hopefully improving readability;
|
---|
2277 | simplified some redundant predicates;
|
---|
2278 | simplified some code, but nothing fundamental (yet?).
|
---|
2279 |
|
---|
2280 | Wed Jul 16 00:24:54 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2281 |
|
---|
2282 | * alloca.c, getopt.c, getopt.h, getopt1.c: updated from
|
---|
2283 | versions in textutils-1.22.
|
---|
2284 |
|
---|
2285 | * Makefile.in, Makefile.am, configure.in: put in automake support.
|
---|
2286 |
|
---|
2287 | * basicdefs.h, compat.h, compat.c [, sed.c, utils.c]: took out
|
---|
2288 | some very ugly compatibility #ifdefs and packaged into one
|
---|
2289 | place.
|
---|
2290 |
|
---|
2291 | * sed.c, utils.c: some gratuitous formatting changes.
|
---|
2292 |
|
---|
2293 | * utils.c: changed datatype of utils_id_s in order to
|
---|
2294 | eliminate arbitrary array size.
|
---|
2295 |
|
---|
2296 | Sun Jul 13 17:00:26 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2297 |
|
---|
2298 | * sed.c, utils.c, utils.h: de-linting oriented cleanup.
|
---|
2299 |
|
---|
2300 | Sun Jul 13 00:46:48 PDT 1997 Ken Pizzini <ken@gnu.org>
|
---|
2301 |
|
---|
2302 | * sed.c: fixed bug which caused SEGV for files missing a
|
---|
2303 | final newline. Corrected calls to regnexec to pass the
|
---|
2304 | proper parameters, in the proper order.
|
---|
2305 |
|
---|
2306 | Sat Dec 30 20:16:59 1995 Tom Lord <lord@beehive>
|
---|
2307 |
|
---|
2308 | *** Version 3.00 released
|
---|
2309 |
|
---|
2310 | * sed.c: Use posix entry points to regexp functions.
|
---|
2311 | Fix enough bugs to pass the test-suite.
|
---|
2312 |
|
---|
2313 | ....... Jason Molenda <crash@cygnus.com>
|
---|
2314 |
|
---|
2315 | * testsuite/: trippy test suite.
|
---|
2316 |
|
---|
2317 |
|
---|
2318 | Wed May 11 07:46:24 1994 Chip Salzenberg (chip@fin.uucp)
|
---|
2319 |
|
---|
2320 | *** Version 2.05 released
|
---|
2321 |
|
---|
2322 | * sed.c (compile_address): Recognize numeric addresses.
|
---|
2323 | Fixes typo made during installation of "~" feature.
|
---|
2324 |
|
---|
2325 | Sat Apr 30 17:17:38 1994 Tom Lord (lord@x1.cygnus.com)
|
---|
2326 |
|
---|
2327 | *** Version 2.04 released
|
---|
2328 |
|
---|
2329 | * sed.c: applied a patch from
|
---|
2330 | From: kap1@tao.cpe.uchicago.edu (Dietrich Kappe)
|
---|
2331 |
|
---|
2332 | Dietrich writes:
|
---|
2333 |
|
---|
2334 | As my contribution to the creeping feature creature in sed,
|
---|
2335 | here is a new type of address. The address has form n~m,
|
---|
2336 | which means "the line number is equal to n modulo m." The
|
---|
2337 | modifications to sed are trivial, and the general
|
---|
2338 | usefulness of this address should be obvious. If m is 0 or
|
---|
2339 | missing, 1 is used in its place (could be a bug or a
|
---|
2340 | feature :-).
|
---|
2341 |
|
---|
2342 | Sat Apr 30 17:17:38 1994 Tom Lord (lord@x1.cygnus.com)
|
---|
2343 |
|
---|
2344 | * rx.c (solve_destination): protect `solution' more carefully.
|
---|
2345 | This is a cleanup of a patch from Kevin Buettner
|
---|
2346 | (kev@cujo.geg.mot.com).
|
---|
2347 |
|
---|
2348 | Sat Apr 30 17:17:38 1994 Tom Lord (lord@x1.cygnus.com)
|
---|
2349 |
|
---|
2350 | * rx.c: make translation tables unsigned chars
|
---|
2351 |
|
---|
2352 | * sed.c (main): Compile accumulated -e commands as
|
---|
2353 | soon as a -f command comes along. This ensures that
|
---|
2354 | the commands are executed in the right order.
|
---|
2355 |
|
---|
2356 | Mon Oct 25 14:41:47 1993 Tom Lord (lord@rtl.cygnus.com)
|
---|
2357 |
|
---|
2358 | * sed.c (execute_program): 'w' flushes the buffer after it
|
---|
2359 | writes -- diagnosed by doug@research.att.com. 'r' and 'w' to
|
---|
2360 | the same file is now supported -- hopefully even in a way that
|
---|
2361 | satisfies Posix (it now behaves differently from some
|
---|
2362 | /bin/sed's and the spec is hard to read so i'm not sure).
|
---|
2363 |
|
---|
2364 | Also, 'r' of a non-existent file is now permitted.
|
---|
2365 |
|
---|
2366 | Mon Oct 11 21:06:10 1993 Tom Lord (lord@cygnus.com)
|
---|
2367 |
|
---|
2368 | * sed.c (execute_program): remember that 'b' and 't' are more
|
---|
2369 | like longjmp than goto. Patch from tom@basil.icce.rug.nl (Tom
|
---|
2370 | R.Hageman)
|
---|
2371 |
|
---|
2372 | * rx.c: patch from From: fin!chip@rutgers.edu (Chip
|
---|
2373 | Salzenberg) to get rid of compiler warnings.
|
---|
2374 |
|
---|
2375 |
|
---|
2376 | Sat Aug 7 01:04:59 1993 Tom Lord (lord@unix7.andrew.cmu.edu)
|
---|
2377 |
|
---|
2378 | *** Version 2.03 released
|
---|
2379 |
|
---|
2380 | * sed.c (compile_regex): report error messages for bogus
|
---|
2381 | regexps.
|
---|
2382 |
|
---|
2383 | SEE ALSO: ChangeLog.rx
|
---|
2384 |
|
---|
2385 | |
---|
2386 |
|
---|
2387 | Wed Jul 21 00:28:03 1993 Tom Lord (lord@unix8.andrew.cmu.edu)
|
---|
2388 |
|
---|
2389 | * alloca.c: upgraded to a more recent version
|
---|
2390 |
|
---|
2391 | * rx.c (re_search_2): prefer matches with longer
|
---|
2392 | subexpressions to those with shorter ones, giving precedence
|
---|
2393 | to low numbered subexpressions.
|
---|
2394 |
|
---|
2395 | * rx.c (re_compile): don't free `params' if its null.
|
---|
2396 |
|
---|
2397 | Fri Jul 16 01:12:08 1993 Tom Lord (lord@unix8.andrew.cmu.edu)
|
---|
2398 |
|
---|
2399 | * rx.[ch], sed.c: rx replaces regex.
|
---|
2400 |
|
---|
2401 |
|
---|
2402 |
|
---|
2403 | Thu May 27 11:13:03 1993 Tom Lord (lord@unix3.andrew.cmu.edu)
|
---|
2404 |
|
---|
2405 | * sed.c (execute_program, match_addr): caught more cases
|
---|
2406 | that need to be sensitive to a missing \n at EOF.
|
---|
2407 |
|
---|
2408 | Fri May 21 00:39:22 1993 Tom Lord (lord@unix8.andrew.cmu.edu)
|
---|
2409 |
|
---|
2410 | * sed.c (execute_program): apply gaumondp's patch
|
---|
2411 | to fix '\xabcxs/foo/bar/'.
|
---|
2412 |
|
---|
2413 | * sed.c (execute_program):
|
---|
2414 | If a second address is a regexp, never match it on the
|
---|
2415 | same line as the first address.
|
---|
2416 |
|
---|
2417 | * sed.c (compile_regexp):
|
---|
2418 | Numeric ranges x,y s.t. y < x are now treated as x,x.
|
---|
2419 | There was a bug in that they were being handled like x,x+1.
|
---|
2420 |
|
---|
2421 | * sed.c (execute_program, read_pattern_space,
|
---|
2422 | append_pattern_space) don't add newlines to lines
|
---|
2423 | that don't have them.
|
---|
2424 |
|
---|
2425 | Wed May 19 13:34:45 1993 Tom Lord (lord@unix9.andrew.cmu.edu)
|
---|
2426 |
|
---|
2427 | * sed.c (compile_program): grok \\n in comments.
|
---|
2428 |
|
---|
2429 | Mon May 17 16:34:50 1993 Tom Lord (lord@unix9.andrew.cmu.edu)
|
---|
2430 |
|
---|
2431 | * alloca.c: new (standard) file
|
---|
2432 |
|
---|
2433 | * configure.in: AC_CONSTified
|
---|
2434 |
|
---|
2435 | * sed.c (compile_program): properly diagnose the error of
|
---|
2436 | a missing command (e.g. sed /x/). (thanks gaumondp)
|
---|
2437 |
|
---|
2438 | * sed.c (compile_regexp): handle character classes correctly.
|
---|
2439 | Thanks gaumondp@ERE.UMontreal.CA
|
---|
2440 | and schwab@issan.informatik.uni-dortmund.de.
|
---|
2441 |
|
---|
2442 | Thu May 6 12:37:18 1993 Tom Lord (lord@unix10.andrew.cmu.edu)
|
---|
2443 |
|
---|
2444 | * sed.c (compile_filename, execute_program): don't use
|
---|
2445 | `access' or `/dev/null'.
|
---|
2446 |
|
---|
2447 | * sed.c (execute_program): 'N' at EOF should delete the pat buf.
|
---|
2448 |
|
---|
2449 | * sed.c (compile_filename): truncate, don't append files
|
---|
2450 | being openned for `w' or `s///w'
|
---|
2451 |
|
---|
2452 | * sed.c (execute_program): -n switch shouldn't effect `i' or `c'.
|
---|
2453 |
|
---|
2454 | * sed.c (compile_program): don't compile unescaped newlines
|
---|
2455 | into the substitution string of an `s' command (they are an error).
|
---|
2456 |
|
---|
2457 | * sed.c (compile_regex): correctly skip over character
|
---|
2458 | sets that contain `]'.
|
---|
2459 |
|
---|
2460 | * sed.c (execute_program): patch from gaumondp
|
---|
2461 | Correctly handle empty-string matches in the case of an `s'
|
---|
2462 | command with a repeat count.
|
---|
2463 |
|
---|
2464 | * sed.c (compile_program): patch from gaumondp@ere.UMontreal.ca.
|
---|
2465 | Don't consume characters after the label of a `b', `t' or `:' command.
|
---|
2466 |
|
---|
2467 | * sed.c (compile_program): unmatched open braces are an error.
|
---|
2468 |
|
---|
2469 | * sed.c (compile_file): when consuming an initial comment,
|
---|
2470 | count lines correctly.
|
---|
2471 |
|
---|
2472 | Wed Nov 18 02:10:58 1992 Tom Lord (lord@unix2.andrew.cmu.edu)
|
---|
2473 |
|
---|
2474 | * sed.c (execute_program): Made s///p print even if -n was
|
---|
2475 | specified.
|
---|
2476 |
|
---|
2477 | * sed.c (compile_string): Changed the type of this function to
|
---|
2478 | fix a compile warning.
|
---|
2479 |
|
---|
2480 | Wed Nov 4 17:15:34 1992 Tom Lord (lord@unix7.andrew.cmu.edu)
|
---|
2481 |
|
---|
2482 | * sed.c (main): Initialize the hold area to contain "\n"
|
---|
2483 | instead of "". In execute_program, all lines are expected
|
---|
2484 | to be newline terminated. Also, if H is the first command
|
---|
2485 | in the script, the result is a pattern buffer that begins
|
---|
2486 | with a blank line. Thanks to pinard@iro.umontreal.ca
|
---|
2487 | (Francois Pinard) for pointing out this and many other bugs.
|
---|
2488 |
|
---|
2489 | * sed.c (execute_program): Fixed a case of `D' command.
|
---|
2490 | Thanks Chris Weber <weber@bucknell.edu>
|
---|
2491 |
|
---|
2492 | * sed.c: added new tests of no_default_output to make -n work.
|
---|
2493 | Thanks Andrew Herbert <andrew@werple.apana.org.au>
|
---|
2494 |
|
---|
2495 | * sed.c, configure.in,Makefile.in: autoconfed bcopy and const.
|
---|
2496 | Thanks "J.T. Conklin" <jtc@gain.com>
|
---|
2497 |
|
---|
2498 | * sed.c: made prog_cur, prog_start, and prog_end unsigned so
|
---|
2499 | that users could write `sed -e s/ÿ/foo/g'.
|
---|
2500 |
|
---|
2501 | Tue Oct 13 00:04:05 1992 Tom Lord (lord@unix3.andrew.cmu.edu)
|
---|
2502 |
|
---|
2503 | * sed.c (execute_program): fixed the cycling behavior of 'D'
|
---|
2504 |
|
---|
2505 | * sed.c: integrated patch that closes files
|
---|
2506 |
|
---|
2507 | * sed.c: changed regexp syntax
|
---|
2508 |
|
---|
2509 | Fri May 22 15:11:12 1992 Tom Lord (lord at moriarty.bh.andrew.cmu.edu)
|
---|
2510 |
|
---|
2511 | * regex.c: this is not my change, but a pointer to the fact
|
---|
2512 | that karl@gnu fixed some regexp bugs that were plaguing sed.
|
---|
2513 |
|
---|
2514 | Thu Apr 30 13:02:21 1992 Tom Lord (lord at unix3.andrew.cmu.edu)
|
---|
2515 |
|
---|
2516 | * sed.c (compile_program, execute_program)
|
---|
2517 | subprograms are now compiled with an explicit continuation ;)
|
---|
2518 | return_v and return_i in struct vector. execute_program
|
---|
2519 | no longer recurses to execute subprograms (case '{') and now
|
---|
2520 | understands a return instruction (case '{').
|
---|
2521 |
|
---|
2522 | Tue Apr 28 17:13:04 1992 Tom Lord (lord at unix7.andrew.cmu.edu)
|
---|
2523 |
|
---|
2524 | * sed.c (compile_address) added \?regexp? syntax for addresses.
|
---|
2525 |
|
---|
2526 | * sed.c (main) added {} intervals to the obscure regexp
|
---|
2527 | syntax.
|
---|
2528 |
|
---|
2529 | * sed.c (compile_program) after calling compile_address,
|
---|
2530 | normalize numeric addresses (make a2.addr_number > a1.addr_number).
|
---|
2531 | This is necessary because line numbers must match exactly,
|
---|
2532 | but sed does not try to match a2 until after a1 has matched,
|
---|
2533 | yet a1,a2 where a2 <= a1 is defined to be equivelent to
|
---|
2534 | a1,a1+1
|
---|
2535 |
|
---|
2536 | Sat Feb 29 10:55:54 1992 David J. MacKenzie (djm@nutrimat)
|
---|
2537 |
|
---|
2538 | * sed.c (usage): Document long options as starting with `--'.
|
---|
2539 |
|
---|
2540 | Mon Dec 9 23:56:40 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
|
---|
2541 |
|
---|
2542 | * sed.c: Include sys/types.h, for new regex.h.
|
---|
2543 |
|
---|
2544 | Tue Nov 5 02:16:01 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
|
---|
2545 |
|
---|
2546 | * utils.c: Change NO_VFPRINTF to VPRINTF_MISSING, for
|
---|
2547 | compatibility with autoconf.
|
---|
2548 |
|
---|
2549 | Mon Sep 2 22:02:40 1991 David J. MacKenzie (djm at apple-gunkies)
|
---|
2550 |
|
---|
2551 | * sed.c (compile_regex): Treat \ as a normal character when in
|
---|
2552 | a char class.
|
---|
2553 |
|
---|
2554 | Thu Aug 8 00:15:33 1991 David J. MacKenzie (djm at bleen)
|
---|
2555 |
|
---|
2556 | * Version 1.08.
|
---|
2557 |
|
---|
2558 | * sed.c (compile_filename): If reading a file fails, read
|
---|
2559 | /dev/null instead. It's what Unix and POSIX do, effectively.
|
---|
2560 |
|
---|
2561 | * sed.c (compile_regex): The 'slash' character doesn't
|
---|
2562 | terminate the regex if it's in a character class.
|
---|
2563 |
|
---|
2564 | * sed.c (main): If given no args, or bad option, print usage
|
---|
2565 | message.
|
---|
2566 | (usage): New function.
|
---|
2567 |
|
---|
2568 | * sed.c (execute_program): Amount written for 'P' command was
|
---|
2569 | wrong. From stephend@ksr.com (Stephen Davis).
|
---|
2570 |
|
---|
2571 | Wed Aug 7 16:51:14 1991 David J. MacKenzie (djm at apple-gunkies)
|
---|
2572 |
|
---|
2573 | * sed.c (append_pattern_space): Check for buffer full before
|
---|
2574 | instead of after writing to buffer. Don't need to test for
|
---|
2575 | EOF initially anymore, due to the next change.
|
---|
2576 | (execute_program): For 'n' and 'N' commands, if eof is reached
|
---|
2577 | in input, quit the script like Unix sed does.
|
---|
2578 | Fix memory allocation problems for 'a' and 'r' commands.
|
---|
2579 | (compile_program): Fix off by one error in processing comments.
|
---|
2580 | All of the above are from Tapani Tarvainen, tarvaine@tukki.jyu.fi.
|
---|
2581 |
|
---|
2582 | * sed.c (setup_jump): Use isblank instead of testing for ' '
|
---|
2583 | or '\t', for POSIX locales.
|
---|
2584 |
|
---|
2585 | * utils.c (ck_strdup): Renamed from strdup.
|
---|
2586 | * sed.c: Change callers.
|
---|
2587 |
|
---|
2588 | * sed.c, utils.c: Clean up declarations and includes to get
|
---|
2589 | rid of compiler warnings.
|
---|
2590 |
|
---|
2591 | * sed.c (main): Add long-named options. Don't complain if -n
|
---|
2592 | is given twice.
|
---|
2593 |
|
---|
2594 | Fri Aug 2 12:33:16 1991 David J. MacKenzie (djm at apple-gunkies)
|
---|
2595 |
|
---|
2596 | * configure: Support +srcdir arg. Create config.status and
|
---|
2597 | remove it and Makefile if interrupted while creating them.
|
---|
2598 | * Makefile.in: Change DESTDIR to prefix.
|
---|
2599 |
|
---|
2600 | Mon Jul 15 13:07:39 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
|
---|
2601 |
|
---|
2602 | * sed.c (main): Add -V option to print version number.
|
---|
2603 | (USAGE): Mention -V.
|
---|
2604 |
|
---|
2605 | Mon Jul 8 01:42:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
|
---|
2606 |
|
---|
2607 | * sed.c: Define bcopy in terms of memcpy if STDC_HEADERS as
|
---|
2608 | well as if USG.
|
---|
2609 | (compile_filename): Don't glob filename (for 'r' and 'w'
|
---|
2610 | commands). Unix sed doesn't do it and it's not very useful,
|
---|
2611 | since it can only match 0 or 1 files.
|
---|
2612 | (execute_program): Change '\a' to 007 since some compilers
|
---|
2613 | don't recognize \a.
|
---|
2614 | * utils.c: New file; code moved from sed.c.
|
---|
2615 | * Replace Makefile with Makefile.in and configure.
|
---|
2616 | Update README.
|
---|
2617 |
|
---|
2618 | Tue Mar 26 13:00:48 EST 1991 Jay Fenlason (hack@gnu.ai.mit.edu)
|
---|
2619 |
|
---|
2620 | * sed.c (match_address) Added a trivial cast for portability.
|
---|
2621 |
|
---|
2622 | Mon Feb 25 13:23:29 EST 1991 Jay Fenlason (hack@ai.mit.edu)
|
---|
2623 |
|
---|
2624 | * sed.c Changed 's' command to work with latest version of regex()
|
---|
2625 | routines, which mysteriously changed somewhere in there. . .
|
---|
2626 | A one-line patch from David Eckelkamp (eckelkamp@mcc.com).
|
---|
2627 |
|
---|
2628 | Initialize the fastmap in the hopes that it'll make sed faster.
|
---|
2629 |
|
---|
2630 | Thu Feb 21 13:42:27 EST 1991 Jay Fenlason (hack@ai.mti.edu)
|
---|
2631 |
|
---|
2632 | * sed.c Change panic to compile with other __STDC__ compilers.
|
---|
2633 |
|
---|
2634 | Wed Jan 30 10:46:38 EST 1991 Jay Fenlason (hack@ai.mit.edu)
|
---|
2635 |
|
---|
2636 | * sed.c Changed version number. Made new release.
|
---|
2637 |
|
---|
2638 | Tue Nov 27 15:34:51 EST 1990 Jay Fenlason (hack@ai.mit.edu)
|
---|
2639 |
|
---|
2640 | * sed.c (setup_jump) Don't blow chunks if there isn't a label
|
---|
2641 | after a b or t command.
|
---|
2642 |
|
---|
2643 | (main) Don't panic if it a branch command doesn't have
|
---|
2644 | a label to branch to.
|
---|
2645 |
|
---|
2646 | (main) Collect all the -e arguments together and parse them
|
---|
2647 | all at once. This way, -e { -e mumble -e } will work.
|
---|
2648 |
|
---|
2649 | All these small patches from David Schmidt (davids@isc-br.isc-br.com)
|
---|
2650 |
|
---|
2651 | Tue Sep 11 12:51:37 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
|
---|
2652 |
|
---|
2653 | * sed.c Changed some function forward declarations to use VOID *
|
---|
2654 | instead of char *
|
---|
2655 |
|
---|
2656 | Mon Jul 16 11:12:54 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
|
---|
2657 |
|
---|
2658 | * sed.c (ck_malloc) Use malloc(1) instead of malloc(0) if given
|
---|
2659 | a request for zero bytes.
|
---|
2660 |
|
---|
2661 | Tue Jun 5 02:05:37 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
|
---|
2662 |
|
---|
2663 | * sed.c: Remove excess newlines from calls to panic.
|
---|
2664 | Reformat some comments to fit in 79 columns.
|
---|
2665 | Base whether to use void * on __STDC__, not __GNU__.
|
---|
2666 | (main): Add missing arg when printing usage message.
|
---|
2667 | Print usage if given invalid arg.
|
---|
2668 | (panic) [__STDC__]: Add missing ", ...".
|
---|
2669 | (compile_filename): Print correct error message if glob_filename
|
---|
2670 | returns NULL.
|
---|
2671 |
|
---|
2672 | Thu Apr 5 21:41:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
|
---|
2673 |
|
---|
2674 | * sed.c (execute_program, case 'r'): When need to realloc append.text,
|
---|
2675 | multiply append.alloc by 2 instead of adding
|
---|
2676 | cur_cmd->x.cmd_txt.text_len.
|
---|
2677 |
|
---|
2678 | Tue Mar 6 15:55:35 EST 1990 Jay Fenlason (hack@ai.mit.edu)
|
---|
2679 |
|
---|
2680 | * sed.c (compile_regex) Allocate 10 bytes extra space needed by
|
---|
2681 | re_compile_pattern.
|
---|
2682 |
|
---|
2683 | Sun Feb 25 16:32:10 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
|
---|
2684 |
|
---|
2685 | * sed.c (execute_program, case 'l'): Print \00 instead of \0.
|
---|
2686 | Print backslash as \\ not \.
|
---|
2687 | Print \xx instead of /xx.
|
---|
2688 |
|
---|
2689 | Thu Feb 1 14:02:28 EST 1990 hack@wookumz
|
---|
2690 |
|
---|
2691 | * sed.c (memchr) Use () inside inner loop so it will work correctly.
|
---|
2692 | A two character patch from Robert A Bruce (rab@allspice.berkeley.edu)
|
---|
2693 |
|
---|
2694 | Wed Sep 27 18:47:39 EDT 1989 hack@ai.mit.edu
|
---|
2695 |
|
---|
2696 | * sed.c (compile_regex) New function. When compiling regex,
|
---|
2697 | turn ^ into \` and $ into \' so that they won't match on embedded
|
---|
2698 | newlines. UN*X pattern matching is a crock.
|
---|
2699 | (compile_program, compile_address) call compile_regex.
|
---|
2700 |
|
---|
2701 | Mon Sep 18 10:15:32 EDT 1989 hack@ai.mit.edu
|
---|
2702 |
|
---|
2703 | * sed.c (compile_program): define translate as unsigned char * so
|
---|
2704 | that y command will work on non-ascii characters.
|
---|
2705 |
|
---|
2706 | Changed version number to 1.06.
|
---|
2707 |
|
---|
2708 | Thu Sep 14 15:57:08 EDT 1989 hack@ai.mit.edu
|
---|
2709 |
|
---|
2710 | * sed.c (compile_program) Let programs use ; to terminate } as
|
---|
2711 | well as newline.
|
---|
2712 |
|
---|
2713 | (read_file) Print an error msg to stderr if it can't open an
|
---|
2714 | input file.
|
---|
2715 |
|
---|
2716 | Thu Mar 23 18:04:46 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
|
---|
2717 |
|
---|
2718 | * Makefile, sed.c: Added new copyright notice.
|
---|
2719 |
|
---|
2720 | * Makefile: Make distributions which follow the symlinks.
|
---|
2721 |
|
---|
2722 | hack@ai.mit.edu
|
---|
2723 |
|
---|
2724 | 1.05 Fixed error in 'r' (now does things in the right order)
|
---|
2725 |
|
---|
2726 | 1.04 Fixed s/re/rep/[number]
|
---|
2727 |
|
---|
2728 | 1.03 Fixes from Mike Haertel for regexps that match the
|
---|
2729 | empty string, and for Ritchie stdio (non-sticky EOF)
|
---|
2730 |
|
---|
2731 | 1.02 Fixed 't', 'b', ':' to trim leading spaces and tabs
|
---|
2732 | Fixed \\ in replacement of 's' command
|
---|
2733 | Added comments
|
---|
2734 |
|
---|
2735 | 1.01 Added s/re/rep/[digits]
|
---|
2736 | added #n as first line of script
|
---|
2737 | added filename globbing
|
---|
2738 | added 'l' command
|
---|
2739 | All in the name of POSIX
|
---|
2740 |
|
---|
2741 | 1.00 Began (thinking about) distributing this file
|
---|
2742 | |
---|
2743 |
|
---|
2744 | Local Variables:
|
---|
2745 | mode: indented-text
|
---|
2746 | left-margin: 8
|
---|
2747 | version-control: never
|
---|
2748 | End:
|
---|