VirtualBox

source: kBuild/vendor/sed/current/ChangeLog-2014@ 3611

Last change on this file since 3611 was 3611, checked in by bird, 7 months ago

vendor/sed/current: GNU sed 4.9 (sed-4.9.tar.xz sha256:6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181)

File size: 122.9 KB
Line 
12014-09-06 Jim Meyering <[email protected]>
2
3 maint: remove all trailing white space
4 First, run this command:
5 git grep -l ' $'|xargs perl -pi -e 's/[ \t]+$//'
6 Then some minor fix-up to make the two newly-failing tests
7 pass once again:
8 * testsuite/mac-mf.sed: Append this, s/ $//,
9 to eliminate trailing spaces in the actual output.
10 * testsuite/y-newline.good: Manually remove a trailing
11 space between two concatenated prompts.
12
132014-09-06 Jim Meyering <[email protected]>
14
15 fixup: add the properly-named new test files
16 * testsuite/Makefile.am (EXTRA_DIST): Add y-zero.*,
17 not y-NUL.* here.
18
19 maint: correct failing "version" test
20 * configure.ac (COPYRIGHT_YEAR): Update to 2014, so
21 the "version" test passes once again.
22 * doc/sed.1: Also commit this auto-generated-yet-VC'd file.
23
242014-09-04 Jim Meyering <[email protected]>
25
26 fix "y" to work with NUL in the RHS
27 * sed/execute.c (do_list) [case 'y']: Handle NUL bytes
28 in the RHS of a y/LHS/RHS/ transliteration.
29 * testsuite/y-zero.good: New test-related files.
30 * testsuite/y-zero.inp:
31 * testsuite/y-zero.sed:
32 * testsuite/Makefile.am (SEDTESTS): Add y-zero here.
33 * testsuite/Makefile.tests: And here.
34 * NEWS (Bug fixes): Describe it.
35 The bug was reported by [email protected],
36 with the execute.c change mostly by Paolo Bonzini.
37
382014-07-24 Jose E. Marchesi <[email protected]>
39
40 * gnulib: Update.
41
422014-03-26 Jose E. Marchesi <[email protected]>
43
44 * doc/sed.texi (Regular Expressions): avoid a potential
45 misunderstanding in the description of the \| operator.
46
472013-10-16 David A. Wheeler <[email protected]>
48
49 * doc/sed-in.texi: Document "-E" option to use EREs. GNU sed already
50 supported "-E" as an undocumented synonym for "-r", but "-E" is now
51 in POSIX. See: http://austingroupbugs.net/view.php?id=528.
52 * doc/sed.1: Likewise.
53 * doc/sed.texi: Likewise.
54 * doc/sed.x: Likewise.
55 * sed/sed.c: Likewise.
56
572013-10-06 Jose E. Marchesi <[email protected]>
58
59 * basicdefs.h (PATH_MAX): Defined to some constant in case it is
60 not defined by system headers.
61 * sed/utils.c: Do not include pathmax.h anymore.
62 * bootstrap.conf (gnulib_modules): Do not use the gnulib module
63 pathmax.
64
652013-09-30 Jose E. Marchesi <[email protected]>
66
67 * doc/sed.texi (Regular Expressions): Typo: implicity numbered ->
68 implicitly numbered.
69 Reported by Arthur Budco.
70
712013-07-12 Jose E. Marchesi <[email protected]>
72
73 * doc/sed-in.texi (Extended regexps): Add an example on using | in
74 extended regular expressions. Suggested by Nils Barth.
75
762013-02-02 Jose E. Marchesi <[email protected]>
77
78 * gnulib: Update.
79 * configure.ac (COPYRIGHT_YEAR): Updated to 2013.
80
812012-12-29 Stefano Lattarini <[email protected]> (tiny change)
82
83 testsuite: make test logs more verbose
84 * testsuite/runtest: Adjust and simplify.
85
862012-12-29 Stefano Lattarini <[email protected]> (tiny change)
87
88 maint: enable Automake parallel testsuite harness
89 It is better than the older test driver. It is also the
90 default now, starting from Automake 1.13; so having it
91 enabled unconditionally will allow GNU sed to be seamlessly
92 bootstrapped by Automake 1.13.
93 * configure.ac (AM_INIT_AUTOMAKE): Add 'parallel-tests' option.
94 Also require Automake 1.11.1, since that is the minimal version
95 to have a sane 'parallel-tests' support.
96 (AC_PREREQ): Bump requirement to 2.62, since that is the
97 minimal version required by Automake 1.11.1.
98 * testsuite/Makefile.am (TESTS_ENVIRONMENT): Remove the
99 invocation for the test runner "$(srcdir)/runtest"; it's
100 correct place is ...
101 (LOG_COMPILER): ... here.
102
1032012-12-29 Stefano Lattarini <[email protected]> (tiny change)
104
105 build: avoid bootstrap failure
106 * bootstrap.conf (gnulib_modules): Add 'threadlib'.
107
1082012-12-21 Paolo Bonzini <[email protected]>
109
110 * configure.ac: Bump version number. Replace COPYRIGHT_YEAR.
111 * Makefile.am (dist-hook): Revert 2010-08-10 change.
112
1132012-12-21 Paolo Bonzini <[email protected]>
114
115 * autoboot: Rename to bootstrap.
116 * autoboot.conf: Rename to bootstrap.conf.
117 * README.boot: Remove.
118 * Makefile.am: Remove README.boot, add bootstrap and bootstrap.conf.
119
1202012-12-21 Paolo Bonzini <[email protected]>
121
122 * gnulib: Update.
123 * testsuite/version.gin: Regenerate.
124
1252012-12-21 Paolo Bonzini <[email protected]>
126
127 * doc/sed.texi: Regenerate.
128 * doc/sed.1: Regenerate.
129 * po/sed.pot: Regenerate.
130
1312012-07-25 Paolo Bonzini <[email protected]>
132
133 * doc/sed-in.texi: Document difference between "e" and "r"
134 commands.
135
1362012-04-29 Jim Hill <[email protected]>
137
138 * Makefile.am (noinst_DATA, dist-hook): build failed after git
139 clean -dfx finish bootstrap.sh removal.
140
1412012-04-13 Paolo Bonzini <[email protected]>
142
143 * sed/compile.c (convert_number): Remove default_char argument,
144 expect buf to point to it. Remove maxdigits argument and compute
145 it on the fly.
146 (normalize_text): Unify calls to convert_number under the convert
147 label. For TEXT_REPLACEMENT add a backslash to the output if
148 convert_number returns ch == '&'.
149
1502012-03-16 Paolo Bonzini <[email protected]>
151
152 * testsuite/version.gin: Regenerate.
153
1542012-03-16 Paolo Bonzini <[email protected]>
155
156 * basicdefs.h (P_): Remove.
157 * sed/compile.c: Adjust.
158 * sed/execute.c: Likewise.
159 * sed/fmt.c: Likewise.
160 * sed/sed.c: Likewise.
161 * sed/sed.h: Likewise.
162 * sed/utils.c: Likewise.
163 * sed/utils.h: Likewise.
164
1652012-03-16 Paolo Bonzini <[email protected]>
166
167 * basicdefs.h (FREE): Remove.
168 * sed/compile.c: Adjust.
169 * sed/execute.c: Adjust.
170 * sed/regexp.c: Adjust.
171 * sed/utils.c: Adjust, remove ck_free.
172 * sed/utils.h: Adjust, remove ck_free.
173
1742012-03-16 Paolo Bonzini <[email protected]>
175
176 * basicdefs.h (CAST, VCAST, VOID, MEMCPY, MEMMOVE): Rip out.
177 * sed/compile.c: Adjust.
178 * sed/execute.c: Adjust.
179 * sed/regexp.c: Adjust.
180 * sed/utils.c: Adjust.
181 * sed/utils.h: Adjust.
182
1832012-03-16 Paolo Bonzini <[email protected]>
184
185 * sed/execute.c: Unconditionally compile for MBCS.
186 * sed/mbcs.c: Unconditionally compile for MBCS.
187 * sed/sed.h: Unconditionally compile for MBCS.
188
1892012-03-16 Paolo Bonzini <[email protected]>
190
191 * basicdefs.h: Enjoy gnulib's headers.
192 * sed/compile.c: Likewise.
193 * sed/execute.c: Likewise.
194 * sed/regexp.c: Likewise.
195 * sed/sed.c: Likewise.
196 * sed/sed.h: Likewise.
197 * sed/utils.c: Likewise.
198
1992012-03-16 Paolo Bonzini <[email protected]>
200
201 * bootstrap.sh.in: Remove.
202 * bootstrap.sh: Remove.
203 * configure.ac: Do not create bootstrap.sh.
204 * basicdefs.h: Remove guards.
205 * sed/execute.c [BOOTSTRAP]: Remove guards.
206 * sed/sed.c [BOOTSTRAP]: Remove guards.
207 * sed/sed.h [BOOTSTRAP]: Remove guards.
208
2092012-03-16 Paolo Bonzini <[email protected]>
210
211 * gnulib: Update.
212
2132012-03-16 Paolo Bonzini <[email protected]>
214
215 * doc/sed.x: Document address behavior across input files.
216 * doc/sed.1: Regenerate.
217
2182012-02-13 Paolo Bonzini <[email protected]>
219
220 * configure.ac: Test whether fopen("foo", "rt") works.
221 * sed/compile.c: Do not open scripts with "rt" mode if it doesn't.
222 * sed/sed.c: Never open input files with "rt" mode.
223
2242012-02-05 Paolo Bonzini <[email protected]>
225 Jim Hill <[email protected]>
226
227 * autoboot.conf: Change getline to getdelim.
228 * doc/sed-in.texi: Document -z/--null-data.
229 * doc/sed.texi: Regenerate.
230 * doc/sed.1: Regenerate.
231 * sed/execute.c: Change '\n' to buffer_delimiter.
232 * sed/sed.c: Add support for -z/--null-data.
233 * sed/sed.h: Add buffer_delimiter.
234 * sed/utils.c: Change ck_getline to ck_getdelim.
235 * sed/utils.h: Change ck_getline to ck_getdelim.
236 * NEWS: Document new option.
237
2382011-11-23 Paolo Bonzini <[email protected]>
239
240 * doc/sed-in.texi: Document how multiline mode affects matching
241 newlines against period. Reported by Dmitry Bolshakov.
242
2432011-08-29 Paolo Bonzini <[email protected]>
244
245 * sed/sed.c (usage): Fix documentation for -i. Reported by
246 Dennis Bartlett.
247
2482011-07-11 Jim Meyering <[email protected]>
249
250 avoid silent data loss when an input line is 2^31 bytes or longer
251 If one line in a file has length (including newline) of 2^31, then
252 applying sed -i to that file truncates it to size 0. I first
253 noticed it like this: Create a file with line of length 2^31-1
254 $ perl -le 'print "v"x(2**31-1)' > k
255 Then prepend a byte to that line:
256 $ sed -i 's/^/v/' k
257 Surprise! The file is empty.
258 * sed/utils.c (ck_getline): Declare "result" to be of type ssize_t,
259 rather than int, to match the return type of getline.
260
2612011-07-14 Padraig Brady <[email protected]>
262
263 * execute.c (open_next_file): Only reopen stdin on Windows/DOS.
264
2652011-05-27 Paolo Bonzini <[email protected]>
266
267 * doc/sed-in.texi: Explain behavior of \l and \u at the end
268 of the replacement text.
269 * doc/sed.texi: Regenerate.
270 * sed/execute.c (append_replacement, do_subst): Further
271 simplification.
272
2732011-05-27 Paolo Bonzini <[email protected]>
274
275 * doc/sed-in.texi: Fix incorrect comment in the "Increment a
276 number" example. Reported by Wu Liang and Micah Cowan.
277 * doc/sed.texi: Regenerate.
278
2792011-03-11 Paolo Bonzini <[email protected]>
280
281 * sed/compile.c (normalize_text): Clang analyzer cleanup.
282 * sed/execute.c (append_replacement, do_subst): Same.
283 * sed/utils.c (ck_getline): Same.
284
2852010-11-13 Jari Aalto <[email protected]>
286
287 * doc/sed.x: Order commands alphabetically.
288 * doc/sed.1: Regenerate.
289 * doc/sed.texi: Regenerate.
290
2912010-11-10 Paolo Bonzini <[email protected]>
292
293 * doc/sed-in.texi: Fix double negation in comment, escape
294 file names.
295
2962010-11-03 Eric Blake <[email protected]>
297
298 * basicdefs.h (ISDIGIT): Avoid compiler warning on cygwin.
299 * sed/compile.c (normalize_text): Avoid undefined behavior.
300
301 * sed/sed.c (includes): Supply missing header.
302
3032010-11-01 Paolo Bonzini <[email protected]>
304
305 * autoboot.conf: Replace gettext with gettext-h. Suggested by
306 Gerald Pfeifer and Eric Blake.
307 * configure.ac: Downgrade minimum requested version of gettext
308 to 0.17.
309
3102010-10-31 Gerald Pfeifer <[email protected]>
311
312 * doc/sed-in.texi (Extended regexps): Add '|' to the list of
313 differences. Note that "\|" is a GNU extension to begin with.
314 * doc/sed.texi: Rebuild.
315
3162010-10-20 Paolo Bonzini <[email protected]>
317
318 * autoboot.conf: Add fwriting.
319 * sed/utils.c: Use it.
320
3212010-09-20 Paolo Bonzini <[email protected]>
322
323 * doc/configure.ac: Mention [email protected].
324 * doc/sed.x: Mention [email protected].
325 * doc/sed-in.texi: Mention [email protected].
326
3272010-08-30 Paolo Bonzini <[email protected]>
328
329 * Makefile.am (dist-hook): Remove COPYRIGHT_YEAR check.
330 * autoboot.conf (gnulib_modules): Add version-etc-fsf.
331 * configure.ac (COPYRIGHT_YEAR): Remove. Change package name to
332 "GNU sed".
333 * doc/sed.1: Regenerate.
334 * sed/sed.c (AUTHORS): New.
335 (main): Use version_etc.
336
3372010-07-18 Paolo Bonzini <[email protected]>
338
339 * sed.c (write_mode): New.
340 (main): Initialize it to "wb" if --binary is passed.
341 * sed.h (write_mode): New.
342 * compile.c (mark_subst_opts, compile_program): Use it instead
343 of "w".
344 * execute.c (open_next_file): Pass write_mode to ck_mkstemp.
345 * utils.c (ck_mkstemp): Accept mode, pass it to fdopen. Constify.
346 * utils.h (ck_mkstemp): Adjust prototype.
347
3482010-08-17 Paolo Bonzini <[email protected]>
349
350 Fix imprecision in the documentation of `D'.
351 * doc/sed-in.texi (D command): Fix documentation of behavior for
352 pattern space ending with \n and with no other newline.
353 Reported by Randall Cotton.
354 * doc/sed.x (D command): Fix documentation of behavior for
355 pattern space ending with \n and with no other newline.
356 * doc/sed.texi: Regenerate.
357 * doc/sed.1: Regenerate.
358
3592010-07-19 Ralf Wildenhues <[email protected]>
360
361 Let --posix turn off nonportable scripts ending in backslash.
362 * sed/compile.c (errors, INCOMPLETE_CMD): New error string.
363 (compile_program): In strict posix mode, complain about incomplete
364 command.
365 * NEWS: Update.
366 Report by Bruno Haible.
367
3682010-07-16 Paolo Bonzini <[email protected]>
369
370 * autoboot.conf (gnulib_modules): Replace mkstemp with mkostemp.
371 * bootstrap.sh.in: Compile mkostemp.c instead of mkstemp.c.
372 * gnulib: Update.
373 * NEWS: Mention change.
374 * sed/utils.c (ck_mkstemp): Use mkostemp to work around Cygwin
375 oddity. Reported by Stepan Kasal.
376
3772010-05-03 Timothy Baker <[email protected]> (tiny change)
378
379 * doc/sed.texi (Regular expressions): Fix typo.
380
3812009-11-15 Ralf Wildenhues <[email protected]>
382
383 * doc/sed.texi (Extended Commands): Document F command.
384 * doc/sed-in.texi: Regenerate.
385 * sed/compile.c (compile_program): Accept 'F' if not --posix.
386 * sed/execute.c (open_next_file): Always initialize in_file_name.
387 (execute_program): Handle 'F'.
388 * configure.ac: Bump SED_FEATURE_VERSION.
389 * NEWS: Update.
390
3912009-12-07 Clint Adams <[email protected]> (tiny change)
392
393 * sed/execute.c (open_next_file): If is_selinux_enabled returns -1,
394 treat it as "disabled".
395
3962009-10-15 Paolo Bonzini <[email protected]>
397
398 * sed/execute.c (closedown): First change owner (while permissions
399 stay 0?00), then mode.
400
4012009-10-15 Paolo Bonzini <[email protected]>
402 WANG Yunfeng <[email protected]>
403
404 * sed/execute.c (str_append, str_append_modified): Handle incomplete
405 sequences as if they were invalid.
406
4072009-10-14 Paolo Bonzini <[email protected]>
408
409 * po/sed.pot: Update.
410
4112009-10-14 Paolo Bonzini <[email protected]>
412
413 * configure.ac: Use cache variables rather than AC_CHECK_FUNC.
414
4152009-10-14 Paolo Bonzini <[email protected]>
416
417 * configure.ac: Remove obselete configure tests.
418 * sed/fmt.c: Assume limits.h is always present.
419 * sed/utils.c: Assume vfprintf is always present.
420
4212009-10-14 Yuri G. Kudryashov <[email protected]> (tiny change)
422
423 * testsuite/Makefile.tests: Override LC_ALL, not LANG.
424
4252009-10-12 Ralf Wildenhues <[email protected]>
426
427 * doc/sed-in.texi (Invoking sed): Add index entries for --posix,
428 -s, --separate.
429 (Other Commands): Fix typo.
430 * doc/sed.texi: Regenerate.
431
4322009-09-07 Dmitry Chistikov <[email protected]> (tiny change)
433
434 * doc/sed-in.texi: Document how to separate commands.
435 * doc/sed.texi: Regenerate.
436
4372009-08-30 Paolo Bonzini <[email protected]>
438
439 * autoboot.conf: Add ssize_t.
440 * configure.ac: Remove useless stuff, bump gettext requirement to 0.17.
441
4422009-08-10 Bake Timmons <[email protected]> (tiny change)
443
444 * doc/sed-in.texi: Fix typo.
445
4462009-06-27 Paolo Bonzini <[email protected]>
447
448 * configure.ac: Bump version.
449 * NEWS: Bump version.
450 * gnulib: Update.
451 * doc/sed.1: Regenerate.
452
4532009-06-25 Paolo Bonzini <[email protected]>
454
455 * autoboot.conf: Add selinux-h.
456 * execute.c: Copy over file creation context before creating a new file.
457
4582009-06-25 Paolo Bonzini <[email protected]>
459
460 * execute.c: Do not copy ACLs until the file is copied.
461 * utils.c (ck_mkstemp): Set a restrictive umask on temporary files.
462
4632009-06-26 Paolo Bonzini <[email protected]>
464
465 * autoboot: Do not use GIT_CONFIG_LOCAL.
466
4672009-06-15 Paolo Bonzini <[email protected]>
468
469 * autoboot.conf: Add memchr again.
470 * gnulib: Update.
471
4722009-06-11 Sergey Farbotka <[email protected]> (tiny change)
473
474 * sed/execute.c (open_next_file): Fix off-by-one causing problems
475 under Cygwin.
476
4772009-05-11 Paolo Bonzini <[email protected]>
478
479 * sed/compile.c (snarf_char_class): Fix logic bug with [[[ in regular
480 expressions (and a possibly uninitialized use of variable delim stemming
481 from the bug). Uninitialized variable bug reported by Zhongxing Xu.
482 * testsuite/brackets.good: New.
483 * testsuite/brackets.inp: New.
484 * testsuite/brackets.sed: New.
485 * testsuite/Makefile.am: Add test.
486 * testsuite/Makefile.tests: Add test.
487
4882009-05-11 Paolo Bonzini <[email protected]>
489
490 * configure.ac: Define COPYRIGHT_YEAR.
491 * Makefile.am (dist-hook): Test it.
492 * sed/mbcs.c: Fix copyright years.
493 * sed/sed.c: Fix copyright years. Change COPYRIGHT_NOTICE to
494 COPYRIGHT_YEAR.
495 * sed/utils.c: Fix copyright years.
496 * testsuite/version.gin: Use COPYRIGHT_YEAR.
497
4982009-04-30 Paolo Bonzini <[email protected]>
499
500 * sed/compile.c: Declare bool arguments as int instead to please AIX XLC.
501 * sed/execute.c: Declare bool arguments as int instead to please AIX XLC.
502 * sed/utils.c: Declare bool arguments as int instead to please AIX XLC.
503 * sed/utils.h: Declare bool arguments as int instead to please AIX XLC.
504
5052009-04-27 Paolo Bonzini <[email protected]>
506
507 * configure.ac: Bump version number.
508 * configure: Regenerate.
509
5102009-04-27 Paolo Bonzini <[email protected]>
511
512 * configure.ac: Do not create homonymous links from builddir to srcdir.
513 * testsuite/Makefile.tests: Create readin.in2 here.
514 * testsuite/Makefile.am: Do not distribute it.
515
5162009-04-27 Paolo Bonzini <[email protected]>
517
518 * autoboot.conf: Add rename.
519 * gnulib: Update.
520
5212009-04-27 Paolo Bonzini <[email protected]>
522
523 * configure.ac: XFAIL UTF-8 tests where appropriate.
524
5252009-04-27 Paolo Bonzini <[email protected]>
526
527 * testsuite/Makefile.tests: Handle CRLF endings for mingw.
528
5292009-04-27 Paolo Bonzini <[email protected]>
530
531 * configure.ac: Link readin.in2 into builddir.
532 * configure: Regenerate.
533 * doc/Makefile.am: Do not distribute sed.html. Do not update
534 sed.texi if the output does not change.
535 * sed/Makefile.am: Order libraries according to their dependencies.
536 * sed/compile.c (get_openfile): Declare FAIL as int.
537 * sed/sed.c: Avoid printf ("") if REG_PERL is not defined.
538 * testsuite/eval.in2: Do not include in the repository.
539 * testsuite/Makefile.am: Clean always eval.in2 and never readin.in2.
540 * testsuite/Makefile.tests: Provide a default empty definition of TIME
541 and remove rules for readin.in2.
542
5432009-03-31 Paolo Bonzini <[email protected]>
544
545 * bootstrap.sh.in: Add __bool_true_false_are_defined.
546 * bootstrap.sh: Regenerate.
547 * basicdefs.h: Do not provide bool definitions for BOOTSTRAP at all.
548
5492009-03-31 Paolo Bonzini <[email protected]>
550
551 * sed/sed.c (contact): New.
552 (usage): From here.
553 (main): Use it for `sed --version' too.
554
555 * configure.ac: Point to GNU project mailing lists.
556 * sed/sed.c (contact): Use PACKAGE_BUGREPORT.
557 * testsuite/version.gin: Likewise.
558 * testsuite/version.good: Regenerate.
559 * doc/sed.1: Regenerate.
560
561 * bootstrap.sh.in (PACKAGE_BUGREPORT): New.
562 * bootstrap.sh: Regenerate.
563
5642009-03-31 Paolo Bonzini <[email protected]>
565
566 * testsuite/Makefile.am: Distribute utf8-3 and utf8-4 test files.
567
5682009-02-17 Paolo Bonzini <[email protected]>
569
570 * testsuite/Makefile.tests: Rewrite rule for utf8-[1234].
571 Reported by Ralf Wildenhues.
572
5732009-02-17 Paolo Bonzini <[email protected]>
574
575 * sed/sed.c (usage): Print homepage URL.
576 * testsuite/version.gin: Update.
577
5782009-01-28 Paolo Bonzini <[email protected]>
579
580 * sed/sed.c (usage): Only print the bug report address for `sed --help'.
581 (main): Print it for `sed --version' too.
582 * testsuite/version.gin: Adapt.
583 * testsuite/Makefile.tests: Refine help message test.
584
5852009-01-23 Paolo Bonzini <[email protected]>
586 Hideo AOKI <[email protected]>
587
588 * sed/compile.c (match_slash): Fix MBCS behavior.
589 * sed/sed.h (MBSINIT): New.
590
5912009-01-20 Paolo Bonzini <[email protected]>
592
593 * autoboot.conf, bootstrap.sh.in: Remove memchr, memcmp, memmove
594 compatibility code.
595 * gnulib: Update.
596
5972009-01-09 Paolo Bonzini <[email protected]>
598
599 * tests/SPENCER.tests: Add testcases for glibc bugzilla 697.
600 * gnulib: Update.
601
6022009-01-05 Paolo Bonzini <[email protected]>
603
604 * execute.c (read_pattern_space): Reset hold space at end-of-file
605 if input->reset_at_next_file.
606
6072008-12-31 Ralf Wildenhues <[email protected]>
608
609 Let --posix turn off more GNU extensions.
610 * sed/compile.c (mark_subst_opts): Turn off subst options i, I,
611 s, S, x, X, m, and M in --posix mode.
612 (compile_address): Disallow address modifiers, `FIRST~STEP',
613 `ADDR1,+N', and `ADDR1,~N' in --posix mode.
614 (compile_program): In --posix mode, do not accept e or z commands;
615 do not accept text between an a, c, or i command and the following
616 backslash; do not accept an argument to the l command.
617
6182008-12-22 Paolo Bonzini <[email protected]>
619
620 * autoboot.conf: Request modules emulating mb functions.
621 * configure.ac: Do not look for mb functions here.
622
6232008-10-03 Paolo Bonzini <[email protected]>
624 Jim Meyering <[email protected]>
625
626 * autoboot.conf: Add localcharset.
627 * Makefile.am: Remove intl subdir. Require Automake 1.10.
628 * configure.ac: Remove useless macros, switch to external gettext.
629 * lib/Makefile.am: Remove intl subdir from CPPFLAGS.
630 * sed/Makefile.am: Remove intl subdir from CPPFLAGS.
631
6322008-10-02 Paolo Bonzini <[email protected]>
633
634 * autoboot: Sync with gnulib's build-aux/bootstrap.
635
6362008-09-29 Paolo Bonzini <[email protected]>
637
638 * autoboot: Sync with gnulib's build-aux/bootstrap.
639
6402008-09-29 Paolo Bonzini <[email protected]>
641
642 * testsuite/Makefile.am: Add the utf8-{1,2,3,4} tests.
643 * testsuite/Makefile.tests: Add the utf8-{1,2,3,4} tests.
644 * testsuite/runtest: Support skipping tests.
645 * testsuite/utf8-1.good: New.
646 * testsuite/utf8-1.inp: New.
647 * testsuite/utf8-1.sed: New.
648 * testsuite/utf8-2.good: New.
649 * testsuite/utf8-2.inp: New.
650 * testsuite/utf8-2.sed: New.
651 * testsuite/utf8-3.good: New.
652 * testsuite/utf8-3.inp: New.
653 * testsuite/utf8-3.sed: New.
654 * testsuite/utf8-4.good: New.
655 * testsuite/utf8-4.inp: New.
656 * testsuite/utf8-4.sed: New.
657
6582008-09-29 Paolo Bonzini <[email protected]>
659
660 * BUGS: Document s/.*.// behavior with invalid multibyte sequences.
661 * NEWS: Document `z' extension.
662 * doc/sed-in.texi: Document both things.
663 * sed/compile.c (compile_program): Recognize `z'.
664 * sed/execute.c (execute_program): Execute `z'.
665 * testsuite/Makefile.am: Add badenc test.
666 * testsuite/Makefile.tests: Add badenc test.
667 * testsuite/badenc.good: New.
668 * testsuite/badenc.inp: New.
669 * testsuite/badenc.sed: New.
670
6712008-09-28 Paolo Bonzini <[email protected]>
672
673 * basicdefs.h: Replace alloca cruft with alloca.h.
674 * bootstrap.sh.in: Update for new gnulib.
675 * bootstrap.sh: Update for new gnulib.
676 * configure.ac: Move gnulib macros earlier.
677 * sed/execute.c: Do not include acl.h when bootstrapping.
678
6792008-08-27 Paolo Bonzini <[email protected]>
680
681 * sed/execute.c (closedown): Close the input file!
682
6832008-08-20 Paolo Bonzini <[email protected]>
684
685 * configure.ac: Add gl_DISABLE_THREADS.
686
6872008-08-20 Ralf Wildenhues <[email protected]
688
689 * doc/sed-in.texi: Drop leading whitespace where appropriate,
690 do not use TABs.
691 * doc/sed.texi: Regnerate.
692
6932008-08-19 Paolo Bonzini <[email protected]>
694
695 * sed/compile.c: Do not include strverscmp.c.
696
6972008-07-21 Paolo Bonzini <[email protected]>
698
699 * doc/sed-in.texi: Remove northpark.edu address for sed FAQ.
700 * doc/sed.texi: Regenerate.
701
7022008-07-10 Paolo Bonzini <[email protected]>
703
704 * doc/sed-in.texi: Make the description of ^ and $ more precise.
705 * doc/sed.texi: Regenerate.
706
7072008-06-04 Vladimir Marek <[email protected]>
708
709 * basicdefs.h: Don't hardcode usage of prototypes on SunStudio.
710
7112008-05-15 Paolo Bonzini <[email protected]>
712
713 * autoboot.conf: Update for newer gnulib.
714
7152008-05-15 Paolo Bonzini <[email protected]>
716
717 * bootstrap.sh.in: Define bool, true, false. Reported by
718 Jason Stover. Adjust for gnulib changes.
719 * bootstrap.sh: Regenerate.
720
7212008-04-24 Paul Eggert <[email protected]>
722
723 * sed/compile.c (match_slash): Treat 's&foo&\&&' compatibly with
724 traditional 'sed'.
725 * testsuite/bsd.sh: Add test case for this.
726 * testsuite/bsd.good: Add test case output.
727
7282008-04-24 Paolo Bonzini <[email protected]>
729
730 * sed/compile.c (setup_replacement): Fix bug with \& in POSIX mode.
731
7322008-01-16 Jim Meyering <[email protected]>
733
734 * sed/execute.c (open_next_file, get_backup_file_name): Avoid
735 warnings from gcc.
736
7372008-01-16 Jim Meyering <[email protected]>
738
739 * sed/compile.c (snarf_char_class): Reverse order of conjuncts
740 so that "delim" is not used uninitialized.
741
7422008-01-16 Jim Meyering <[email protected]>
743
744 * sed/utils.c (panic): Remove declaration of unused local, "fd".
745
7462008-01-16 Jim Meyering <[email protected]>
747
748 * sed/execute.c (open_next_file, get_backup_file_name): Avoid
749 warnings from gcc. Avoid shadowing global "pipe".
750
7512008-01-16 Jim Meyering <[email protected]>
752
753 * autoboot.conf (gnulib_modules): Add stat-macros and pathmax.
754
7552007-10-25 Paolo Bonzini <[email protected]>
756 Mike Frysinger <[email protected]>
757
758 * doc/sed.x (q, Q): Document argument.
759 * configure.ac: Remove texi2html checks.
760 * doc/Makefile.am: Remove rules for sed.html, always distribute it.
761
7622007-08-14 Paolo Bonzini <[email protected]>
763
764 * sed/execute.c (open_next_file): Follow symlink here...
765 (closedown): ... not here.
766
7672007-06-29 Paolo Bonzini <[email protected]>
768
769 * sed/mbcs.c: Upgrade to GPLv3.
770 * sed/regexp.c: Upgrade to GPLv3.
771 * sed/sed.c: Upgrade to GPLv3.
772 * sed/sed.h: Upgrade to GPLv3.
773 * sed/utils.c: Upgrade to GPLv3.
774 * sed/utils.h: Upgrade to GPLv3.
775 * sed/compile.c: Upgrade to GPLv3.
776 * sed/execute.c: Upgrade to GPLv3.
777 * sed/fmt.c: Upgrade to GPLv3.
778
7792007-03-01 Masatake YAMATO <[email protected]> (tiny change)
780
781 * sed/compile.c (compile_program): Accept 0,/REGEXP/ address
782 specification only if --posix is not specified.
783
7842007-02-05 Paolo Bonzini <[email protected]>
785
786 * testsuite/bug-regex27.c, testsuite/bug-regex28.c: New, from
787 glibc (written by Jakub Jelinek).
788
7892007-01-26 Paolo Bonzini <[email protected]>
790
791 * sed/compile.c (check_final_program): Don't set text if the
792 pending_text is initialized but empty.
793 * sed/execute.c (output_line): Don't print text if it is NULL.
794 * testsuite/Makefile.am (TESTS): Add insert.
795 * testsuite/Makefile.tests (insert): New.
796 * testsuite/insert.good, testsuite/insert.sed, testsuite/insert.inp: New
797 testcase from Jonas Koelker.
798
7992006-12-29 Paolo Bonzini <[email protected]>
800
801 * sed/compile.c: Fix warnings.
802 * sed/execute.c: Fix warnings.
803
8042006-12-22 Bruno Haible <[email protected]>
805
806 * sed/utils.c: Include pathmax.
807 * sed/mbcs.c: Use local_charset.
808 * sed/execute.c: Copy with padding after the mbstate_t member.
809
8102006-12-21 Paolo Bonzini <[email protected]>
811
812 * sed/mbcs.c: Include string.h (reported by Henning Nielsen Lund).
813 * sed/fmt.c: Likewise.
814 * sed/regexp.c: Likewise.
815
8162006-12-18 Paolo Bonzini <[email protected]>
817
818 * sed/execute.c (closedown): Remove dead code.
819
8202006-12-17 Paolo Bonzini <[email protected]>
821
822 * sed/utils.c: Include limits.h.
823
8242006-12-16 Paolo Bonzini <[email protected]>
825
826 * doc/sed-in.texi: Document --follow-symlinks.
827
8282006-12-15 Paolo Bonzini <[email protected]>
829
830 * sed/regexp.c: Disable all extensions on --posix.
831
8322006-09-24 Paolo Bonzini <[email protected]>
833
834 * sed/execute.c: Support ACLs.
835 * lib/utils.c: Move...
836 * sed/utils.c: ... here, and remove xmalloc.
837
8382006-08-21 Paolo Bonzini <[email protected]>
839
840 * sed/regexp.c: Accept NUL bytes for `.'. Accept 'a\(b' in
841 POSIXLY_CORRECT/POSIXLY_BASIC posixicity.
842
8432006-08-03 Paolo Bonzini <[email protected]>
844
845 Revert this part of the previous change:
846
847 2006-08-03 Paolo Bonzini <[email protected]>
848
849 * sed/compile.c (get_openfile): Change second argument to char
850 and turn it into a string within the function. Adjust callers.
851
8522006-08-03 Paolo Bonzini <[email protected]>
853 Corinna Vinschen <[email protected]>
854
855 * lib/getline.c (getline): Remove Windows special casing.
856 * lib/utils.c (register_open_file, ck_fdopen): New.
857 (ck_fopen, ck_mkstemp): Use register_open_file.
858 * lib/utils.h (ck_fdopen): New.
859 * sed/execute.c (open_next_file): Reopen stdin.
860 * sed/sed.h (read_mode): New.
861 * sed/sed.c (read_mode): New.
862 (main): Set it on --binary.
863 (usage): Document --binary.
864 * sed/compile.c (get_openfile): Change second argument to char
865 and turn it into a string within the function. Adjust callers.
866 * sed/execute.c (dump_append_queue, open_next_file): Use it
867 as mode for ck_fopen.
868
8692006-08-03 Paolo Bonzini <[email protected]>
870
871 * sed/execute.c (str_append): Use is_utf8 to skip useless work.
872 * sed/mbcs.c (initialize_mbcs): Look for a UTF-8 locale.
873 (is_utf8): New.
874 * sed/sed.h (is_utf8): New.
875
8762006-07-13 Paolo Bonzini <[email protected]>
877
878 * bootstrap.sh.in: Add a few autoconfy tests.
879 * Makefile.am: Update distributed bootstrap.sh.
880
8812006-05-15 Hans-Bernhard Broeker <[email protected]>
882
883 * sed/basicdefs.h (OB_MALLOC): Turn VCAST into void * cast.
884
8852006-02-03 Paolo Bonzini <[email protected]>
886
887 * sed/compile.c (compile_program) <case 'y'>: Pass false to match_slash.
888
8892005-09-07 Paolo Bonzini <[email protected]>
890
891 * lib/regcomp.c: Update from upstream.
892 * lib/regex.c: Update from upstream.
893 * lib/regex_.h: Update from upstream.
894 * lib/regex_internal.c: Update from upstream.
895 * lib/regex_internal.h: Update from upstream.
896 * lib/regexec.c: Update from upstream.
897
8982005-08-30 Paolo Bonzini <[email protected]>
899
900 * sed/execute.c (reset_addresses): Never activate ADDR_IS_NUM_MOD
901 addresses.
902 * testsuite/modulo.good, testsuite/modulo.inp, testsuite/modulo.sed:
903 New.
904 * testsuite/Makefile.tests: Add new testcase.
905 * testsuite/Makefile.am: Add new testcase.
906 * testsuite/Makefile.in: Regenerate.
907
9082005-05-18 Maciej W. Rozycki <[email protected]>
909
910 * configure.ac: Use a cache variable for the libcP test.
911 * configure: Regenerate.
912
9132005-05-16 Eero Hakkinen <[email protected]>
914
915 * sed/compile.c (snarf_char_class): Fix handling of
916 [^]xyz].
917
9182005-04-04 Paolo Bonzini <[email protected]>
919
920 * sed/execute.c (process_files): Do not add a default
921 command-line in in-place editing mode.
922
9232005-02-10 Paolo Bonzini <[email protected]>
924
925 * testsuite/Makefile.tests: Add new testcase.
926 * testsuite/Makefile.am: Add new testcase.
927 * testsuite/Makefile.in: Regenerate.
928 * testsuite/appquit.good, testsuite/appquit.inp,
929 testsuite/appquit.sed: New testcase.
930 * testsuite/readin.sed: Quit after the last r command.
931 * testsuite/readin.good: Adjust.
932 * sed/execute.c (execute_program): Dump the results of the
933 a/r/R commands just before quitting.
934
9352005-02-10 Paolo Bonzini <[email protected]>
936
937 * sed/regexp.c: Fix off-by-one error in the "invalid reference
938 to subexpression" message. Debian bug 294339.
939
9402005-02-08 Paolo Bonzini <[email protected]>
941
942 * lib/obstack.h: include config.h.
943
9442005-02-01 Paolo Bonzini <[email protected]>
945
946 * doc/Makefile.am: Don't enable MAKEINFO_HTML and TEXI2HTML_HTML
947 rules unless BUILD_HTML.
948
9492005-01-25 Paolo Bonzini <[email protected]>
950
951 * sed/regexp.c: Fix building on GCC 2.95 and earlier.
952
9532004-12-26 Paolo Bonzini <[email protected]>
954
955 Do not use leftmost-longest matching for addresses.
956
957 * NEWS: Add a note about this.
958 * testsuite/recall2.good, testsuite/recall2.inp,
959 testsuite/recall2.sed: New test.
960 * testsuite/Makefile.am, testsuite/Makefile.tests: Add the
961 recall2 test.
962 * sed/sed.h (struct regex): New.
963 (struct addr, struct subst, compile_regex, match_regex,
964 release_regex): Use it instead of regex_t.
965 * sed/compile.c (compile_program): Update for new meaning of
966 the third parameter of compile_regex.
967 * sed/execute.c (do_subst): Pass less conservative value to
968 the regsize parameter of match_regex.
969 * sed/regexp.c (compile_regex_1): New, extracted out of
970 compile_regex. The third parameter, needed_sub, now includes
971 \0 (so 10 means that \0 .. \9 are needed). Pass RE_NO_SUB
972 if needed_sub is zero.
973 (compile_regex): Accept a struct regex instead of a regex_t.
974 Save the regular expression's text.
975 (match_regex): Accept a struct regex instead of a regex_t.
976 Recompile the pattern if it was compiled with RE_NO_SUB.
977 (release_regex): Accept a struct regex instead of a regex_t.
978
979 * doc/Makefile.am: Generate sed.texi correctly when
980 building outside srcdir.
981
9822004-12-26 Paolo Bonzini <[email protected]>
983
984 * BUGS: Add section about [a-z] matching uppercase characters,
985 and other locale issues.
986 * doc/sed-in.texi [!PERL]: Likewise.
987
9882004-11-15 Paolo Bonzini <[email protected]>
989
990 * sed/execute.c (str_append_modified): Copy the first character
991 when using \l or \u in a multi-byte configuration. Use
992 WCRTOMB instead of wcrtomb.
993 * sed/sed.h (WCRTOMB): New.
994
9952004-11-11 Paolo Bonzini <[email protected]>
996
997 * tst-rxspecer.c: Do not mix instructions and
998 declarations.
999 * basicdefs.h: Include locale.h before #defining
1000 gettext, to avoid breakage under Solaris.
1001 * sed/sed.c: do not include locale.h.
1002
10032004-11-03 Paolo Bonzini <[email protected]>
1004
1005 * bug-regex11.c: Improve portability.
1006 * bug-regex12.c: Improve portability.
1007 * bug-regex13.c: Improve portability.
1008 * bug-regex14.c: Improve portability.
1009 * bug-regex21.c: Improve portability.
1010 * bug-regex9.c: Improve portability.
1011 * tst-boost.c: Improve portability.
1012 * tst-pcre.c: Improve portability.
1013 * tst-regex.c: Improve portability.
1014 * tst-rxspencer.c: Improve portability.
1015
10162004-10-08 Paolo Bonzini <[email protected]>
1017
1018 * lib/utils.c (utils_id_s): Renamed to open_files.
1019 (struct id): Renamed to struct open_file.
1020
10212004-10-08 Jakub Jelinek <[email protected]>
1022
1023 * testsuite/Makefile.tests (bug-regex*, run-tests,
1024 run-ptests): Use $(SED).
1025 (version): Likewise; prepend $(SED) invocation with $(SEDENV).
1026
10272004-08-16 Paolo Bonzini <[email protected]>
1028
1029 *** Version 4.1.2 released.
1030
10312004-08-06 Paolo Bonzini <[email protected]>
1032
1033 * sed/compile.c (bad_command): Fix off-by-one error.
1034 (snarf_char_class): Fix problem with [.....[] (i.e.
1035 last char in class is a bracket.
1036
10372004-06-30 Paolo Bonzini <[email protected]>
1038
1039 *** Version 4.1.1 released.
1040
10412004-06-29 Paolo Bonzini <[email protected]>
1042
1043 * sed/compile.c (mark_subst_opts): Return int.
1044 * sed/execute.c (open_next_file): Fix uninitialized
1045 variable.
1046
10472004-06-10 Paolo Bonzini <[email protected]>
1048
1049 *** Version 4.1 released.
1050
10512004-03-25 Paolo Bonzini <[email protected]>
1052
1053 * lib/obstack.h: Get current version.
1054
10552004-03-13 Paolo Bonzini <[email protected]>
1056
1057 Exit as soon as possible on an I/O error, and with
1058 a better error message.
1059
1060 * lib/utils.c (ck_mkstemp, ck_rename, ck_getline): New
1061 functions. Save temporary files into utils_id_s.
1062 (struct id): Add a field named temp.
1063 (ck_fopen): Init the new temp field of struct id.
1064 (panic): Unlink temporary files before exiting.
1065 * sed/execute.c (read_file_line): Use ck_getline.
1066 (closedown): Use ck_rename.
1067 (open_next_file): Use ck_mkstemp.
1068
10692004-01-17 Paolo Bonzini <[email protected]>
1070
1071 * sed/sed.h: Do not include wchar.h and wctype.h, and do
1072 not include the alloca stuff.
1073 * basicdefs.h: Move all that here.
1074
10752004-01-20 Paolo Bonzini <[email protected]>
1076
1077 * sed/sed.h (enum addr_state): New definition.
1078 (enum addr_type): Remove ADDR_IS_NUM2.
1079 (struct sed_cmd): Replace a1_matched with range_state.
1080 * sed/compile.c (next_cmd_entry): Use range_state.
1081 (compile_program): Death to ADDR_IS_NUM2. Compile
1082 N,Mp as Np if N>=M.
1083 * sed/execute.c (match_address_p): Rewritten. Handle
1084 ADDR_IS_NUM here.
1085 (match_an_address_p): Suit to new match_address_p.
1086 (execute_program): Adjust to use range_state in `c'.
1087 Handle addr_bang here.
1088 (reset_addresses): Use range_state.
1089
1090 (struct input): New field "reset_at_next_file".
1091 (read_pattern_space): Use it instead of "separate_files".
1092 (process_files): Initialize it.
1093
10942004-01-15 Paolo Bonzini <[email protected]>
1095
1096 * sed/regexp.c [REG_PERL]: Use REG_STARTEND instead of regexec2.
1097
10982004-01-09 Paul Eggert <[email protected]>
1099 Paolo Bonzini <[email protected]>
1100
1101 * sed/sed.h (posixicity): New variable, replaces POSIXLY_CORRECT.
1102 * sed/sed.c (main): Set it.
1103 * sed/compile.c: Use it instead of POSIXLY_CORRECT.
1104 * sed/execute.c: Use it instead of POSIXLY_CORRECT.
1105 * doc/sed-in.texi: Document it and --posix.
1106
11072004-01-05 Paul Eggert <[email protected]>
1108 Paolo Bonzini <[email protected]>
1109
1110 * NEWS: Fix [\n] to match either backslash or n in POSIXLY_CORRECT mode.
1111 * doc/sed-in.texi: Document this. Also, document regular expressions
1112 a bit better overall, using terminology that's more similar to POSIX.
1113 * sed/sed.h (enum text_types): New definition.
1114 * sed/compile.c (normalize_text): Replace final parameter with one of
1115 type normalize_text. If TEXT_REGEX and in POSIXLY_CORRECT mode,
1116 grok character classes without replacing \n inside them.
1117
11182004-01-03 Paolo Bonzini <[email protected]>
1119
1120 * sed/execute.c (execute_program): print final line
1121 after executing N, if not POSIXLY_CORRECT.
1122
11232003-12-28 Paolo Bonzini <[email protected]>
1124
1125 * sed/compile.c: fix "\\\n" in RHS of s command.
1126 Reported by Mike Castle.
1127 * testsuite/bkslashes.inp, testsuite/bkslashes.good,
1128 testsuite/bkslashes.sed: New files.
1129 * testsuite/Makefile.am, testsuite/Makefile.tests: Add
1130 the bkslashes test.
1131
11322003-12-16 Paolo Bonzini <[email protected]>
1133
1134 *** Version 4.0b released.
1135
1136 * sed/mbcs.c: New file.
1137 * sed/sed.h: Declare macros for mbcs.c.
1138 * sed/compile.c: Use them.
1139 (brlen): Moved to mbcs.c.
1140 * sed/execute.c: Use them.
1141 * sed/sed.c: call initialize_mbcs ().
1142
11432003-12-14 Paolo Bonzini <[email protected]>
1144
1145 * sed/regex.c (match_regex): fix memory leak.
1146
11472003-11-27 Paolo Bonzini <[email protected]>
1148
1149 * sed/execute.c (reset_addresses): leave addresses 0
1150 and 0~STEP enabled.
1151
11522003-11-15 Jakub Jelinek <[email protected]>
1153
1154 * sed/regex.c: Use fastmap.
1155
11562003-09-21 Paolo Bonzini <[email protected]>
1157
1158 *** Version 4.0a released.
1159
1160 * sed/execute.c (struct line): Add mbstate field.
1161 (str_append): Keep mbstate up to date.
1162 (str_append_modified): Likewise, and use towupper/towlower.
1163 (line_init): Initialize mbstate.
1164 (line_copy): Copy mbstate.
1165 (line_append): Copy mbstate.
1166
11672003-07-15 Stepan Kasal <[email protected]>
1168 Paolo Bonzini <[email protected]>
1169
1170 Change the way we treat lines which are not terminated by a newline.
1171 Such lines are printed without the terminating newline (as before)
1172 but as soon as more text is sent to the same output stream, the
1173 missing newline is printed, so that the two lines don't concatenate.
1174
1175 * sed/execute.c (output_file): Is now struct output; users adjusted
1176 to access the fp field, call output_missing_newline before, and
1177 call flush_output afterwards.
1178 (read_file_line): Set line.chomped FALSE each time we encounter a
1179 line without the newline terminator, no matter whether this is the
1180 last input file or not, and no matter whether we are in
1181 POSIXLY_CORRECT mode or not.
1182 (output_missing_newline): New function which prints the suppressed
1183 newline, if necessary.
1184 (flush_output): New function for a common pattern.
1185 (output_line): Use struct output, set its flag accordingly.
1186 (dump_append_queue): Use `ck_fwrite' instead of output_line.
1187 (do_list): Flush the output stream at the end.
1188 (closedown): The code ``if(separate_files) rewind_read_files();''
1189 (read_pattern_space): ... has been moved here.
1190 (process_files): Don't do the default `p' at the end, ...
1191 (execute_program): ... as this function is now responsible for it;
1192 add the code to the end of the function and to the command `q';
1193 the commands `d', `D' and `Q' thus no longer have to forge an empty
1194 line.
1195 (execute_program): Commands `c' and `i' no longer call the
1196 function output_line with chomped==FALSE; instead, they chomp
1197 the text and call the function with chomped==TRUE.
1198 (execute_program): Command `e' no longer uses output_line; it
1199 calls ck_fwrite directly. Commands `e', `L' and `=' flush
1200 the output stream at the end.
1201 * sed/compile.c (special_files): Use `struct output' instead of the
1202 file name.
1203 (get_openfile): ... special files are no longer copied to file_read
1204 or file_write.
1205 (fp_list): Move to sed.h (users adjusted) and rename as...
1206 * sed/sed.h (struct output): ...this. New flag missing_newline
1207 associated to the output stream.
1208 (struct sed_cmd, struct subst): Use `struct output *' instead of mere
1209 `FILE *'; adjust compile.c and execute.c.
1210 * testsuite/noeolw.sed, testsuite/noeolw.good, testsuite/noeolw.1good,
1211 testsuite/noeolw.2good: New tests
1212
12132003-07-15 Stepan Kasal <[email protected]>
1214
1215 * lib/utils.h, sed/sed.h: #include "basicdefs.h",
1216 don't include it from various *.c files.
1217 * sed/regex.c: Don't include regex.h as it's included via sed.h.
1218
12192003-06-11 Paolo Bonzini <[email protected]>
1220
1221 * lib/getline.c: Don't realloc with first param = NULL.
1222
12232003-05-07 Paolo Bonzini <[email protected]>
1224
1225 * sed/execute.c: Make treatment of ADDR_IS_NUM_MOD
1226 simpler, and fix bugs in 0~5,+1
1227 * sed/compile.c: Complain about addresses like 0
1228 and 0,3 which are sources of misunderstandings.
1229 Reported by Akim Demaille <[email protected]>
1230
12312003-03-25 Paolo Bonzini <[email protected]>
1232
1233 *** Version 4.0.7 released
1234
1235 * sed/execute.c (append_replacement): Extract from
1236 do_subst
1237 (do_subst): Don't update count when a match was
1238 skipped.
1239 * testsuite/xbxcx3.good, testsuite/xbxcx3.sed,
1240 testsuite/xbxcx3.inp: Regression tests
1241
12422003-03-23 Paolo Bonzini <[email protected]>
1243
1244 * sed/execute.c (do_subst): Fix several bugs with
1245 numbered matches
1246 * testsuite/numsub2.good, testsuite/numsub2.inp,
1247 testsuite/numsub2.sed, testsuite/numsub3.good,
1248 testsuite/numsub3.inp, testsuite/numsub3.sed,
1249 testsuite/numsub4.good, testsuite/numsub4.inp,
1250 testsuite/numsub4.sed, testsuite/numsub5.good,
1251 testsuite/numsub5.inp, testsuite/numsub5.sed:
1252 regression tests for the bugs
1253
12542003-03-15 Paolo Bonzini <[email protected]>
1255
1256 *** Version 4.0.6 released
1257
1258 * lib/mkstemp.c: Include sys/file.h if available for the
1259 benefit of Ultrix
1260
12612003-03-14 Paolo Bonzini <[email protected]>
1262
1263 * sed/compile.c: Replace flagT with bool
1264 * sed/execute.c: Replace flagT with bool
1265 * sed/fmt.c: Replace flagT with bool
1266 * sed/sed.c: Replace flagT with bool
1267 * sed/regex.c: Replace flagT with bool
1268
12692003-03-13 Paolo Bonzini <[email protected]>
1270
1271 * sed/compile.c (compile_program): Understand parameter
1272 of `v'.
1273
1274 * sed/sed.c (usage): Split help message into multiple
1275 strings
1276 (main): Don't understand -h and -V
1277
12782003-03-12 Paolo Bonzini <[email protected]>
1279
1280 * sed/compile.c (match_slash, snarf_char_class): More
1281 multibyte character support
1282 (brlen): New function
1283 * testsuite/classes.good, testsuite/classes.inp,
1284 testsuite/classes.sed: New files
1285
12862003-03-10 Paolo Bonzini <[email protected]>
1287
1288 * sed/compile.c (match_slash): Strip the \ in front of
1289 slashes (so that the matcher sees x/ for s/x\///). Don't
1290 match / and [ unless at the start of a character.
1291
12922003-02-18 Paolo Bonzini <[email protected]>
1293
1294 * sed/regex.c (compile_regex): // matches the last regular
1295 expression even in POSIXLY_CORRECT mode.
1296 * sed/compile.c (normalize_text): Treat multibyte character
1297 sets correctly
1298 (read_text): Don't swallow backslash sequences, run text
1299 through normalize_text
1300 (compile_program): Ditto for y command
1301
1302 * sed/compile.c (normalize_text): Add parameter that says
1303 whether the text will be processed further to remove more
1304 backslash escapes. Callers adjusted
1305 (match_slash): Remove same parameter from here. Callers adjusted.
1306
13072003-02-15 Paolo Bonzini <[email protected]>
1308
1309 * sed/sed.h: Fix prototype for match_regex, declare re_registers
1310 if REG_PERL
1311 * sed/execute.c (do_subst): Use re_registers
1312 * sed/regex.c (copy_regs): New function
1313 [REG_PERL]: Use re_registers
1314 [!REG_PERL]: Avoid using internal entry points, support pre-glibc
1315 2.3 regex for the sake of --without-included-regex.
1316
13172003-01-04 Paolo Bonzini <[email protected]>
1318
1319 * sed/sed.h: Move some stuff from here...
1320 * sed/basicdefs.h: ...to here
1321 * lib/utils.c (ck_fopen): Add FAIL parameter
1322 * lib/utils.h: Adjust parameter
1323 * sed/compile.c, sed/execute.c, sed/sed.c: Adjust callers
1324
1325 * sed/basicdefs.h: Add TRUE/FALSE
1326 * sed/compile.c, sed/execute.c, sed/sed.c: Use them
1327 * sed/fmt.c: Do not redefine them
1328
13292003-01-02 Paolo Bonzini <[email protected]>
1330
1331 * sed/sed.c: Bump copyright year
1332
13332002-12-24 Paolo Bonzini <[email protected]>
1334
1335 * sed/sed.c: Use bindtextdomain
1336 * sed/basicdefs.h [__EMX__]: Define initialize_main
1337 * lib/getline.c [__EMX__]: Strip trailing CR
1338
1339 * sed/regex.c: Don't use N_ on the lines that define
1340 error messages, some compilers complain.
1341
13422002-12-18 Paolo Bonzini <[email protected]>
1343
1344 *** Version 4.0.5 released
1345
1346 * sed/compile.c: Don't use N_ on the lines that define
1347 error messages, some compilers complain.
1348
13492002-12-16 Paolo Bonzini <[email protected]>
1350
1351 * sed/compile.c: Improvements to some error messages;
1352 `a', `i', `l', `L', `r' accept two addresses except in
1353 POSIXLY_CORRECT mode.
1354
13552002-12-14 Paolo Bonzini <[email protected]>
1356
1357 * lib/regex_internal.c: Fix problem on non-glibc
1358 systems, from Jakub Jelinek
1359 * lib/regex.c (RE_ENABLE_I18N): Conditionalize on
1360 HAVE_MBRTOWC and HAVE_WCRTOMB.
1361 * lib/getline.c: Fix compilation on non-glibc system
1362 * lib/snprintf.c: Fix compilation on non-glibc system
1363 * lib/basicdefs.h [P_]: Make more portable
1364
13652002-12-12 Paolo Bonzini <[email protected]>
1366
1367 *** Version 4.0.4 released
1368
13692002-11-21 Paolo Bonzini <[email protected]>
1370
1371 *** Version 4.0.3 released
1372
13732002-11-19 Paolo Bonzini <[email protected]>
1374
1375 *** Version 4.0.2 released
1376
13772002-11-05 Paolo Bonzini <[email protected]>
1378
1379 *** Version 4.0.1 released
1380
13812002-10-23 Paolo Bonzini <[email protected]>
1382
1383 *** Version 4.0 released
1384
13852002-10-28 Paolo Bonzini <[email protected]>
1386
1387 * lib/utils.c: Don't fail for EBADF in fflush
1388 * src/sed.c: the_program is now a global
1389
13902002-10-19 Paolo Bonzini <[email protected]>
1391
1392 * src/sed.c: Print GNU sed in --version for GNU sed,
1393 and super-sed for super-sed (thanks to Bruno Haible)
1394
13952002-10-17 Paolo Bonzini <[email protected]>
1396
1397 *** Version 3.96 released
1398
13992002-10-16 Isamu Hasegawa <[email protected]>
1400
1401 * src/execute.c (execute_program): Multibyte 'y'
1402 * src/compile.c (compile_program): Likewise
1403 * src/sed.h: Likewise
1404
14052002-10-08 Paolo Bonzini <[email protected]>
1406
1407 *** Version 3.95 released
1408
14092002-07-15 Paolo Bonzini <[email protected]>
1410
1411 * src/sed.h: rfile --> fname, wfile --> fp
1412 * src/compile.c (compile_command): Parse 'R' like 'w', use
1413 separate lists for file read and file write
1414 * src/compile.c (get_openfile): New name of get_writefile
1415 * src/compile.c (rewind_read_files): New function
1416 * src/sed.h: Declared here
1417 * src/execute.c (closedown): And called here
1418 * src/execute.c (append_queue): Added 'free' field
1419 * src/execute.c (execute_program): Implement 'R'
1420
14212002-06-09 Paolo Bonzini <[email protected]>
1422
1423 * src/execute.c (do_subst): Replaced flag was set on every
1424 regexp match, while the first matches should not set it
1425 for s///N.
1426
14272002-06-08 Paolo Bonzini <[email protected]>
1428
1429 * src/compile.c (compile_file): Open the script in text mode
1430 * lib/utils.c (utils_fp_name): Shorten the output
1431 * lib/utils.c (ck_fread, ck_fwrite, ck_fflush): Clearerr
1432 after printing an error.
1433 * lib/utils.c (ck_fclose): Work on stdout as well if stream == NULL
1434 and flush before closing to check for errors
1435
14362002-05-30 Paolo Bonzini <[email protected]>
1437
1438 * src/compile.c (compile_program): Implement W
1439 * src/execute.c (execute_program): Likewise
1440
14412002-02-14 Paolo Bonzini <[email protected]>
1442
1443 * src/execute.c (str_append_modified): Fixed a stupid
1444 bug (stop condition was *start == *end, meant to be
1445 start == end)
1446
14472002-02-28 Paolo Bonzini <[email protected]>
1448
1449 * src/sed.h (struct sed_cmd): exit_status -> int_arg
1450 * src/compile.c: Likewise
1451 * src/execute.c: Likewise
1452
1453 * src/compile.c (compile_command): Parse `l' like
1454 `q' and `Q'; default for int_arg is -1
1455 * src/execute.c (do_list): New argument, used instead
1456 of lcmd_out_line_len
1457 (execute_program): Interpret int_arg for the `l' command;
1458 return 0 for `q' and `Q' if int_arg is -1
1459
1460 * src/fmt.c: New file, looted from GNU textutils
1461 * src/compile.c: Parse `L'
1462 * src/execute.c: Execute `L'
1463
14642002-04-23 Paolo Bonzini <[email protected]>
1465
1466 * src/sed.c (usage, main): Parse -s
1467 * src/sed.h (separate_files): New variable
1468 * src/execute.c (separate_files): New variable
1469 * src/execute.c (reset_addresses): New function to make range
1470 addresses work separately on each file when using in-place
1471 editing
1472 * src/execute.c (execute_program): The `n' and `N' use test_eof
1473 so that the script restarts at end of file, not at end of input
1474 * src/execute.c (test_dollar_EOF): Make $ work separately
1475 on each file when using -s; renamed to test_eof
1476
14772002-02-05 Paolo Bonzini <[email protected]>
1478
1479 * lib/utils.c: Added directory parameter to
1480 temp_file_template
1481 * lib/utils.h: Adjusted
1482 * src/execute.c: Adjusted
1483
14842002-01-29 Paolo Bonzini <[email protected]>
1485
1486 * src/compile.c (mark_subst_opts): Signal an error if
1487 there are multiple g or p options
1488 * src/compile.c (compile_program): Raise appropriate
1489 error if second string in y command is longer than
1490 first (used to be "excess junk after command")
1491
14922001-12-31 Paolo Bonzini <[email protected]>
1493
1494 * lib/getline.c: Strip the terminating \r under Windows
1495 or MS-DOS.
1496
1497 * testsuite/xemacs.sed, testsuite/xemacs.inp,
1498 testsuite/xemacs.good: Submitted by John Fremlin
1499 ([email protected])
1500
15012001-12-27 Paolo Bonzini <[email protected]>
1502
1503 * sed/execute.c (do_subst): Flags in optimized s/^xx/
1504 commands were discarded (see the change below)
1505
15062001-12-19 Paolo Bonzini <[email protected]>
1507
1508 * sed/execute.c (resize_line): Limit inactive space to two
1509 thirds of a buffer
1510 * sed/execute.c (line_init): Initialize buf->active
1511 * sed/execute.c (str_append, str_append_modified, line_copy,
1512 do_list, do_subst, execute_program, process_files): Operate
1513 on active space
1514
1515 * sed/execute.c (do_subst): Optimize s/^xx// by making a part
1516 of the buffer inactive and s/xx$// by truncating it.
1517 * sed/execute.c (execute_program): Optimize D by making a part
1518 of the buffer inactive
1519
1520 * testsuite/uniq.sed, testsuite/uniq.inp, testsuite/uniq.good:
1521 added to test P and D commands.
1522 * testsuite/fasts.sed, testsuite/fasts.inp, testsuite/fasts.good:
1523 added to test the new optimization done on the `s' command.
1524
15252001-12-17 Paolo Bonzini <[email protected]>
1526
1527 * testsuite/dc.inp: Also compute Easter of 2002 :-)
1528
1529 * sed/execute.c [!HAVE_FCHMOD]: Don't chmod the output file
1530 if working in-place
1531
15322001-11-12 Paolo Bonzini <[email protected]>
1533
1534 * sed/sed.h (struct sed_cmd): a1 is a pointer too
1535 * sed/compile.c: Likewise
1536 * sed/execute.c: Likewise
1537
1538 * sed/compile.c: Use obstacks
1539 * sed/execute.c: Likewise
1540
15412001-11-09 Paolo Bonzini <[email protected]>
1542
1543 * sed/compile.c (mark_subst_opts): Parse option `e',
1544 preserve two occurrences of the `e' and `p' options.
1545 * sed/execute.c (do_subst) [HAVE_POPEN]: Interpret option
1546 `e' (evaluate, like Perl's but uses Bourne shell).
1547 * sed/sed.h (struct subst): Add an `eval' flag.
1548
1549 * sed/compile.c (compile_program): Compile command `e'
1550 like `c'.
1551 * sed/execute.c (execute_program): Execute command `e'.
1552
15532001-09-25 Paolo Bonzini <[email protected]>
1554
1555 * sed/compile.c (get_writefile) [!POSIXLY_CORRECT]:
1556 support /dev/stdout
1557 * sed/execute.c (open_next_file, closedown): Support
1558 in-place editing
1559 * sed/execute.c (backup_file_name): New function to
1560 support in-place editing
1561 * sed/main.c (usage, main): Parse -i.
1562 * sed/utils.c: Moved to lib directory
1563
1564 * lib/utils.c (temp_file_template): New function.
1565 * sed/utils.h: Declared temp_file_template.
1566
15672001-09-05 Paolo Bonzini <[email protected]>
1568
1569 * sed/execute.c (do_subst): `baaac', if passed through
1570 s/a*/x/g, gave `xbxxcx' rather than `xbxcx' (because an
1571 empty string matched before the `c'. Fixed.
1572
1573 * sed/execute.c: Removed mmap support, I/O is done using
1574 getline (slower but more bug-proof).
1575 * sed/utils.c: Likewise.
1576 * lib/getline.c: New file
1577
15782001-03-22 Paolo Bonzini <[email protected]>
1579
1580 * sed/compile.c (normalize_text) [POSIXLY_CORRECT]: Enable
1581 escapes in modes other than BRE.
1582
15832001-03-21 Paolo Bonzini <[email protected]>
1584
1585 * sed/compile.c (normalize_text): Support \XXX in Perl mode,
1586 \oXXX in non-Perl mode.
1587
15882001-03-18 Paolo Bonzini <[email protected]>
1589
1590 * sed/compile.c (compile_program): Fixed missing break when
1591 compiling 'q' and 'Q'.
1592
1593 * sed/compile.c (check_final_program): Removed now spurious
1594 call to compile_regex
1595 * sed/regex.c (compile_regex): Don't track the last compiled
1596 regex
1597 * sed/regex.c (execute_regex): Track here the last compiled
1598 regex
1599
16002001-03-02 Paolo Bonzini <[email protected]>
1601
1602 * sed/compile.c (setup_replacement): Support \[lLuUE] like
1603 Perl and vi.
1604 * sed/compile.c (new_replacement): Accept new parameter
1605 to support \[lLUuE].
1606 * sed/sed.h (enum replacement_types): New declaration
1607 * sed/execute.c (do_subst): Use new function str_append_modified
1608 to apply the changes required via \[lLUuE].
1609 * sed/execute.c (str_append_modified): New function
1610
16112001-03-02 Paolo Bonzini <[email protected]>
1612
1613 * sed/compile.c (setup_replacement): Count the number of backreferences
1614 that the RHS needs
1615 * sed/regex.c (compile_regex): Check if there is a sufficient number
1616 of backreferences (new argument needed_sub replaces nosub)
1617 * sed/compile.c (compile_address, compile_program,
1618 check_final_program): Callers adjusted
1619
16202001-01-03 Paolo Bonzini <[email protected]>
1621
1622 * sed/compile.c(snarf_char_class) [REG_PERL]: Don't parse
1623 `\n' specially
1624 * sed/compile.c(match_slash) [REG_PERL]: Ditto
1625
1626 * sed/compile.c(read_text) [REG_PERL]: Support [xX] modifiers
1627 * sed/compile.c(mark_subst_opts) [REG_PERL]: Ditto
1628
16292001-01-04 Paolo Bonzini <[email protected]>
1630
1631 * testsuite/Makefile.am: Use automake's implementation
1632 of `make check'. Removed the test targets
1633 * testsuite/Makefile.tests: Moved the test targets here
1634 (new file).
1635 * testsuite/runtest: New file
1636
1637 * testsuite/Makefile.tests: `khadafy' test uses EREs.
1638
1639 * testsuite/spencer.inp: Removed the ^* test
1640
1641 * testsuite/spencer.sh: Don't rely on awk; more comments too
1642
16432001-01-07 Paolo Bonzini <[email protected]>
1644
1645 * sed/compile.c (compile_program): Added `T' (branch if failed)
1646 * sed/execute.c (shrink_program, execute_program): Ditto
1647
16482001-02-08 Paolo Bonzini <[email protected]>
1649
1650 * sed/compile.c (compile_program): Added `Q' (quit without output)
1651 * sed/execute.c (execute_program): Ditto
1652
1653 * sed/compile.c (compile_program): Fill in exit_status for `q' and `Q'
1654 * sed/execute.c (execute_program): Return -1 for `go on', 0..255
1655 to set the exit status
1656 * sed/execute.c (process_files): Interpret new convention for
1657 execute_program, return sed's exit code
1658 * sed/sed.c (main): Return process_files's exit code
1659 * sed/sed.h (struct sed_cmd): Declare exit_status
1660
16612000-12-21 Paolo Bonzini <[email protected]>
1662
1663 * lib/snprintf.c [BOOTSTRAP]: Don't include stdio.h
1664 * lib/strerror.c [BOOTSTRAP]: Don't include stdio.h
1665 * sed/execute.c [!HAVE_ISATTY]: Don't buffer stdin
1666
16672000-12-11 Paolo Bonzini <[email protected]>
1668
1669 * sed/compile.c(mark_subst_opts): Support [mMsS] flags
1670 * sed/compile.c(read_text): Support [MS] flags for
1671 addresses
1672 * sed/regex.c(compile_regex): Support arbitrary flags for
1673 regncomp.
1674
1675 * sed/regex.c(compile_regex) [REG_PERL]: Don't call
1676 normalize_text.
1677
16782000-12-08 Paolo Bonzini <[email protected]>
1679
1680 * basicdefs.h: Moved here from the `sed' subdirectory.
1681
1682 * configure.in: Removed crap to pick a regex engine.
1683 Added snprintf to the AC_REPLACE_FUNCS call.
1684
1685 * lib/snprintf.c: New file.
1686
1687 * sed/regex.c(compile_regex): Use regncomp
1688 * sed/regex.c(match_regex): Use regexec2
1689
1690 * sed/compile.c(compile_program): Implemented the `v' command.
1691
1692 * sed/sed.c(main): Implemented the `r' and `R' options
1693
1694 * sed/sed.h: Replaced use_extended_syntax_t with
1695 extended_regexp_flags to support Perl regular expressions.
1696
1697 * sed/execute.c(open_next_file): Don't mmap stdin (because
1698 we cannot seek into it, so a redirected stdin's contents
1699 would not be "eaten" by sed)
1700
1701Mon Aug 30 23:40:08 PDT 1999 Ken Pizzini <[email protected]>
1702
1703 *** Version 3.02.80 released
1704
1705 * sed/execute.c(do_subst): lib/regex.c(re_search_2) seems to
1706 want one extra backreference register; humor it.
1707
1708 * sed/regex.c(compile_regex): work around some odd assumptions
1709 that lib/regex.c(re_compile_pattern) makes about our desired
1710 RE syntax.
1711
1712 * configure.in: tweaked version to 3.02.80; added new entries
1713 to the ALL_LINGUAS definition.
1714
1715 * doc/sed.1, doc/sed.texi, BUGS: explicitly request the output
1716 of sed --version in bug-reporting instructions.
1717
1718 * doc/sed.texi: the old "informal seders list" is dead; document
1719 the new sed-users mailing list instead (under Other Resources).
1720
1721
1722Thu Aug 19 23:27:54 PDT 1999 Ken Pizzini <[email protected]>
1723
1724 * sed/sed.h: Add explicit #include of "regex-sed.h" (rather
1725 than relying on parent file doing so); change the "cmd_regex"
1726 member of sed_cmd: make it a pointer (instead of a struct),
1727 and change its name to cmd_subst; add prototypes for newly
1728 exported functions bad_prog(), normalize_text(), compile_regex(),
1729 match_regex(), and release_regex(); drop rx_testing variable.
1730
1731 * sed/compile.c: move the compile_regex() function to regex.c;
1732 export bad_prog() and normalize_text() functions; eliminate the
1733 rx_testing debris; rename the NOLEAKS symbol to more descriptive
1734 DEBUG_LEAKS; make cmd_regex to cmd_subst fixes (see above);
1735 make use of newly abstracted release_regex() function.
1736
1737 * sed/execute.c: abstract out the regex matching to
1738 regex.c:match_regex(); NOLEAKS to DEBUG_LEAKS change;
1739 cmd_regex to cmd_subst structure member name change.
1740
1741 * sed/execute.c(do_subst): use re_registers/regoff_t instead of
1742 regmatch_t to hold the backreference registers, make "offset"
1743 always be relative to the beginning of the string (rather than
1744 a delta from "start"), defer some matching bookkeeping (e.g.,
1745 not_bol_p) to match_regex().
1746
1747 * sed/sed.c(main): loose rx_testing variable; NOLEAKS
1748 (aka DEBUG_LEAKS) code attempting to release
1749 _nl_current_default_domain is problematic, so omit it.
1750
1751 * sed/regex.c: new file --- abstracts out the interface to the
1752 regex engine so that less conditional code is required in
1753 compile.c and execute.c, and so as to make a change of engine
1754 easier; implements compile_regex() (which looks an awful lot
1755 like the one that used to live in compile.c), match_regex(),
1756 and (if DEBUG_LEAKS is set) release_regex().
1757
1758Sun Apr 18 04:40:46 PDT 1999 Ken Pizzini <[email protected]>
1759
1760 * sed/sed.c(main): conditionalize calls to setlocale() and
1761 textdomain() to only occur if their support is needed/wanted.
1762
1763Sun Apr 18 03:01:46 PDT 1999 Ken Pizzini <[email protected]>
1764
1765 * bootstrap.sh: "foo || bar && baz" was not grouping like I
1766 expected ("foo || (bar && baz)") under at least one shell,
1767 so change the test for a pre-existing config.h file to an
1768 if statement.
1769
1770 * bootstrap.sh: added -DUSE_REGEX_GNU_H option to the
1771 compiler invocation, to ensure that we get a usable
1772 regex library included.
1773
1774Sun Apr 18 02:59:42 PDT 1999 Ken Pizzini <[email protected]>
1775
1776 * sed/sed.h, sed/utils.c: conditionalized inclusion of <libintl.h>
1777 to occur only if ENABLE_NLS is defined.
1778
1779Sun Apr 18 01:48:45 PDT 1999 Ken Pizzini <[email protected]>
1780
1781 * sed/compile.c(xofa,normalize_text,convert_number): change
1782 name of xofa() function to convert_number(); change semantics
1783 to do all of the work of the text->number conversion.
1784
1785 * sed/compile.c(normalize_text): add new \dDDD decimal
1786 and \oOOO octal escapes.
1787
1788Sun Mar 28 21:05:07 PST 1999 Ken Pizzini <[email protected]>
1789
1790 * sed/sed.c(main): if NOLEAKS is set, free up a word that
1791 the call to textdomain() allocated.
1792
1793 * sed/execute.c(read_file_line): plug up (minor) memory leak:
1794 if buffer.alloc==0 we may have malloc()'d 1 byte anyway,
1795 so be sure to FREE(buffer.text) before calling line_init();
1796
1797Fri Mar 26 16:52:10 PST 1999 Ken Pizzini <[email protected]>
1798
1799 * sed/compile.c(match_slash): somewhere between 3.02
1800 and 3.02a we lost the ability to use a newline as
1801 the s/// delimiter; restore this ability.
1802
1803 * sed/compile.c(compile_regex): forget about trying
1804 to cache the compiled form of the last RE --- it
1805 causes more problems than its worth. We now only
1806 cache the source form.
1807
1808 * testsuite/help.good: update to reflect output containing
1809 new options.
1810
1811Sun Dec 6 00:51:23 PST 1998 Ken Pizzini <[email protected]>
1812
1813 * sed/utils.c(ck_fwrite): fix i18n bug of using a printf
1814 fragment of "item%s" to handle plural text.
1815
1816Mon Nov 23 11:03:40 PST 1998 Ken Pizzini <[email protected]>
1817
1818 * doc/sed.1, doc/sed.texi: ran ispell over these
1819 files to catch the more obvious typos...
1820
1821Sun Nov 1 00:09:07 PST 1998 Ken Pizzini <[email protected]>
1822
1823 * sed/execute.c(do_list): make a `lcmd_out_line_len'
1824 (--line-length) of zero mean "infinite length",
1825 i.e., "never wrap".
1826
1827Sat Oct 31 23:06:50 PST 1998 Ken Pizzini <[email protected]>
1828
1829 * execute.c(match_an_address_p,process_files),
1830 compile.c(compile_program): back out the "zero-address"
1831 changes of 1998-09-27. It was a neat idea, but there are
1832 too many dark corners which don't work well. The
1833 special code for handling line ranges starting at
1834 address zero (from 1998-08-31) are still there though:
1835 this seems to work fine with no surprises.
1836
1837Sat Oct 31 22:18:59 PST 1998 Ken Pizzini <[email protected]>
1838
1839 * sed/sed.c, sed/sed.h, sed/execute.c: added new
1840 `lcmd_out_line_len' variable. (Idea suggested by
1841 Carlos J. G. Duarte <[email protected]>.)
1842 Also added ATOI macro (which uses strtoul() if available,
1843 with fall-back to atoi()).
1844 * sed/sed.c(main): attempt to use COLS environment variable
1845 to set a reasonable `lcmd_out_line_len'; added -l/--line-length
1846 command-line options to set the new `lcmd_out_line_len' flag.
1847 * sed/sed.c(usage): documented new -l/--line-length options.
1848 * sed/execute.c(do_list): use `lcmd_out_line_len' variable
1849 instead of `LCMD_OUT_LINE_LEN'.
1850 * sed/execute.c: deleted now obsolete LCMD_OUT_LINE_LEN define.
1851 * configure.in: added strtoul to the AC_CHECK_FUNCS call.
1852
1853Sat Oct 31 21:37:17 PST 1998 Ken Pizzini <[email protected]>
1854
1855 * sed/sed.c, sed/sed.h, sed/execute.c: added new `force_unbuffered'
1856 flag. (Idea suggested by Frank Strauss <[email protected]>.)
1857 * sed/sed.c(main): added -u/--unbuffered command-line options
1858 to set the new `force_unbuffered' flag.
1859 * sed/sed.c(usage): documented new -u/--unbuffered options.
1860 * sed/execute.c: changed the name of the `is_tty' flag in struct
1861 input to a more generic `no_buffering'; also removed HAVE_ISATTY
1862 conditional on this member.
1863 * sed/execute.c(slow_getline): removed HAVE_ISATTY conditonal
1864 compilation of this function.
1865 * sed/execute.c(output_line): if force_unbuffered is set,
1866 then force a fflush() even if writing to stdout.
1867 * sed/execute.c(open_next_file): added handling of the
1868 new `force_unbuffered' flag so that slow_getline()
1869 will always be used for input.
1870 * sed/execute.c(read_file_line): changed the (conditionally
1871 compiled) test of `input->is_tty' to (unconditionally)
1872 use the new spelling `input->no_buffering'.
1873
1874Thu Oct 15 12:08:09 PDT 1998 Ken Pizzini <[email protected]>
1875
1876 * configure.in: deleted AC_ARG_PROGRAM call; this is already
1877 done for us by AM_INIT_AUTOMAKE, and we were winding up
1878 with a doubled-transform.
1879
1880Sun Sep 27 01:42:42 PDT 1998 Ken Pizzini <[email protected]>
1881
1882 * compile.c(compile_program): remove special-case code for matching
1883 address range with a `0' beginning.
1884
1885 * compile.c(compile_address): change default addr_number to
1886 be a pragmatically impossible countT value, instead of zero.
1887
1888 * execute.c: spell macro REGNEXEC() unconditionally instead of
1889 playing with conditional definition of regnexec() macro.
1890
1891 * execute.c(match_an_address_p): added third argument (and changed
1892 callers in match_address_p). Added special code to ignore
1893 non-numeric matches when processing "line zero".
1894
1895 * execute.c(process_files): added a "line zero" pass through the
1896 commands script.
1897
1898Sun Sep 27 00:20:53 PDT 1998 Ken Pizzini <[email protected]>
1899
1900 * compile.c(xofa,normalize_text): new functions.
1901 * compile.c(compile_regex): cache last_compiled_re (with its
1902 associated flags); add POSIXLY_CORRECT behavior for empty RE.
1903 Make use of the new normalize_text() function.
1904 * compile.c(setup_replacement): Make use of the new normalize_text()
1905 function.
1906
1907Sat Sep 26 22:59:13 PDT 1998 Ken Pizzini <[email protected]>
1908
1909 * lib/regex-gnu.h: added missing prototype for regncomp().
1910
1911Mon Sep 14 20:47:23 PDT 1998 Ken Pizzini <[email protected]>
1912
1913 * sed/sed.c(main): use EXIT_SUCCESS instead of 0, in case
1914 we are built on a system (such as VMS) where EXIT_SUCCESS
1915 is distinct from 0.
1916
1917Wed Sep 9 22:17:28 PDT 1998 Ken Pizzini <[email protected]>
1918
1919 * sed/Makefile.am: added -I../intl the INCLUDES line; if we are
1920 building in a directory outside the source tree and the system
1921 we are building on does not have a <libintl.h> header, then
1922 the build was failing, because libintl.h is a build-time
1923 constructed source file.
1924
1925 * configure.in: tweaked version to be 3.02b.
1926
1927Wed Sep 9 19:28:14 PDT 1998 Ken Pizzini <[email protected]>
1928
1929 *** Version 3.02a released
1930
1931 * sed/compile.c(mark_subst_opts,read_label,compile_program):
1932 wherever we accept a ; as a command terminator, also allow a } or
1933 a # to appear. (This allows for less cluttered-looking scripts,
1934 such as: sed '/foo/{x;G}' (instead of: sed '/foo/{x;G;}').)
1935
1936Wed Sep 9 18:17:07 PDT 1998 Ken Pizzini <[email protected]>
1937
1938 * sed/compile.c(compile_regex): use regncomp() instead
1939 of regcomp(), so that a script with NULs in its REs
1940 will work in the expected manner.
1941
1942 * sed/compile.c(ADDNUL,REGNCOMP): added support macros
1943 for above.
1944
1945 * lib/regex.c(regncomp,regcomp): added regncomp() and
1946 made regcomp() a simple wrapper function.
1947
1948Mon Aug 31 21:48:30 PDT 1998 Ken Pizzini <[email protected]>
1949
1950 * sed/sed.c(compile_program): if the first address of
1951 a range is the number 0 (or a 0~N sequence), start
1952 out in the "a1_matched" state. This allows one
1953 to match an initial chunk of a file without undue
1954 convolutions for handling the case where the match
1955 for the end of the sequence happens to be the first
1956 line.
1957
1958Sun Aug 16 03:34:25 PDT 1998 Ken Pizzini <[email protected]>
1959
1960 * sed/compile.c(snarf_char_class,match_slash): simplify
1961 handling of "premature newline" error. Also, get the
1962 line number right in the error message if we encounter
1963 a "premature newline" during char-class snarfing.
1964
1965Sun Aug 16 02:59:20 PDT 1998 Ken Pizzini <[email protected]>
1966
1967 * sed/compile.c: added N_() markers and corresponding gettext()
1968 (er, _()) calls.
1969
1970 * Merged in i18n contribution from Erick Branderhorst
1971 <[email protected]>. His ChangeLog entry
1972 for the changes I've incorporated so far:
1973
19741998-07-24 Erick Branderhorst <[email protected]>
1975 * configure.in (ALL_LINGUAS, AM_GNU_GETTEXT): nl
1976 * sed/{sed.h,utils.c}: #include <libintl.h> #define _(String)
1977 gettext (String)
1978 * sed/sed.c: #include <locale.h>
1979 * po/POTFILES.in: sed/{compile,execute,sed,utils}.c
1980 * run gettextize -f
1981 * acconfig.h: #undef LOCALEDIR ENABLE_NLS HAVE_CATGETS
1982 HAVE_GETTEXT HAVE_LC_MESSAGES HAVE_STPCPY
1983
1984Fri Aug 14 13:52:57 PDT 1998 Ken Pizzini <[email protected]>
1985
1986 * Merged code from 3.02 with a branched development
1987 tree from late May; the following (out-of-order)
1988 changelog entry is from the branched tree.
1989
1990Sat May 30 12:23:16 PDT 1998 Ken Pizzini <[email protected]>
1991
1992 * sed/compile.c, sed/execute.c: added (conditional on NOLEAKS macro)
1993 code to free all dynamically allocated memory.
1994
1995 * sed/sed.c, sed/compile.c, sed/execute.c: much shuffling
1996 of code --- ordered functions such that no forward
1997 declarations are necessary, and placed all static prototypes
1998 immediately before the actual function definition.
1999 This accomplished two things: first, I find the new ordering
2000 a more natural way to read the code than the previous
2001 ordering, and second, the new ordering give the compiler
2002 a better opportunity to discover inlining possibilities.
2003 (The odd "prototype declaration+old-style definition"
2004 style is used because I feel it is the least ugly way
2005 of supporting K&R1 C while still getting the benefit of
2006 prototypes when they are available.)
2007
2008 * sed/basicdefs.h: added MEMCPY() macro to hide the VCAST()s
2009 that ought to be used with memcpy().
2010
2011 * sed/execute.c: Change calls to memcpy() to go through the
2012 new MEMCPY() macro. Various prototypes: elide variable name
2013 if it does not add any human-useful documentary information
2014 to the bare type.
2015
2016 * sed/sed.c(main): Updated calls to compile_string() to add third
2017 (length) argument. Changed call to obsolete close_all_files()
2018 to a call to the new finish_program().
2019
2020 * sed/sed.c(map_file): Attempt to clean-up how "size" gets
2021 cast and tested; remove spurious S_ISREG test (just let
2022 mmap() fail if it doesn't support the underlying file type).
2023
2024 * sed/sed.c: Deleted old RX library stub declarations.
2025
2026 * sed/sed.c(map_file,unmap_file): added VCAST()s to the
2027 mmap()/munmap() calls.
2028
2029 * sed/utils.c(ck_fclose): added support for ANSI C
2030 functionality where passing a NULL argument means
2031 to fclose() _all_ open streams. (Well, almost.
2032 Only closes streams which were previously ck_fopen()ed,
2033 as I don't care to figure out how to autoconf-detect
2034 whether fclose(NULL) is properly supported on a given
2035 platform.)
2036
2037 * sed/sed.h: Renamed `struct text_buf' member `text_len'
2038 to `text_length'. Abstracted out `enum addr_types'
2039 from `struct addr'; added new enum types num2,step,step_mod;
2040 renamed mod to num_mod. De-unionized the regex,number,
2041 {modulo-offset/step} components of `struct addr', in
2042 anticipation of new features. Changed type of `a2' member
2043 of `struct sed_cmd': now a pointer to save space.
2044 Abstracted out `struct replacement' from `struct subst'.
2045 Cleaned up declaration of `x' union of `struct addr'.
2046 Fixed prototype for compile_string(). Replaced prototype
2047 for old close_all_files() with one for new finish_program().
2048
2049 * sed/sed.h, sed/compile.c, sed/execute.c: changed to
2050 simplify the data structures used for branches and
2051 command blocks: simplified `struct vector'; made
2052 `struct label' local to compile.c; `struct sed_cmd'
2053 was modified to support a simpler design for branches
2054 and blocks.
2055
2056 * sed/execute.c: Conditionally added ADDNUL() macro so that
2057 the function call overhead is only incurred if nul_append()
2058 _must_ be called. Made some commentary edits, including
2059 typo fixes.
2060 * sed/execute.c(resize_line): changed semantics of "len" argument
2061 from "additional length" to "target length"; made
2062 INITIAL_BUFFER_SIZE a minimum allocation length.
2063 * sed/execute.c(str_append): adjusted to new resize_line()
2064 semantics.
2065 * sed/execute.c(line_copy): use FREE()+MALLOC() instead of
2066 REALLOC() to avoid unnecessary copying of old text; add the
2067 "try doubling first" allocation heuristic (just like
2068 resize_line() does).
2069 * sed/execute.c(line_exchange): new function.
2070 * sed/execute.c(nul_append): make whole function (not just its
2071 body) conditional on HAVE_REGNEXEC macro; adjust to new
2072 resize_line() semantics.
2073 * sed/execute.c(read_mem_line): use str_append() instead if
2074 custom in-line code; compensate for new default of
2075 "line.chomped = 0" in read_pattern_space() by setting
2076 "line.chomped = 1" where appropriate.
2077 * sed/execute.c(read_file_line): use different trigger to
2078 determine that "buffer" is uninitialized, and do a full
2079 initialization if required; use str_append() instead of custom
2080 in-line code in two places; compensate for new default of
2081 "line.chomped = 0" in read_pattern_space() by setting
2082 "line.chomped = 1" where appropriate.
2083 * sed/execute.c(output_line): don't bother calling ck_fwrite()
2084 if length==0.
2085 * sed/execute.c(release_append_queue): new function.
2086 * sed/execute.c(dump_append_queue): use release_append_queue()
2087 instead of in-line equivalent.
2088 * sed/execute.c(read_pattern_space): conditionalize call to
2089 dump_append_queue() for alleged performance reasons; changed
2090 default "line.chomped" value to more common "1", and added an
2091 assignment of "0" where this made a difference.
2092 * sed/execute.c(match_an_address_p): deleted "is_addr2_p"
2093 argument; reorder cases to match order in enum declaration; add
2094 cases for new "addr_is_num2", "addr_is_step", and
2095 "addr_is_step_mod" address types; alter nul_append() call to be
2096 through ADDNUL() macro; fix to new struct member and enum
2097 spellings in (formerly addr_is_mod); addr_is_num_mod case.
2098 * sed/execute.c(match_address_p): remove oblsolete third argument
2099 to calls to match_address_p(); alter references to sed_cmd
2100 member a2 to reflect new pointer status; add new support for
2101 a2->addr_type addr_is_step and addr_is_step_mod cases.
2102 * sed/execute.c(do_subst): add NOLEAKS support logic; use
2103 ADDNUL() wrapper to nul_append(); simplify replacement
2104 expansion by using the new "struct replacement" data structure;
2105 use line_exchange() function instead of custom in-line code.
2106 * sed/execute.c(process_files): added NOLEAKS code.
2107 * sed/execute.c(execute_program): updated implementations
2108 of the `{', `}', `:', `b', and `t' commands; modified
2109 `c' command gratuituosly; fixed potential memory
2110 overrun in `D' command. Simplified how nonstandard
2111 `loop increments' work. Use line_exchange() instead of
2112 custom in-line code in 'x' case.
2113 * sed/execute.c[EXPERIMENTAL_DASH_N_OPTIMIZATION conditional
2114 code]: various modifications intended to keep this
2115 code in sync with the new changes, but the code still
2116 retains its previous bugs.
2117
2118 * sed/compile.c: use "exit(EXIT_FAILURE) instead of "exit(1)",
2119 just in case we get compiled under VMS.
2120 * sed/compile.c: Change type of prog_info.base to decrease needs
2121 for casting; then elimiated the casts in question ;-).
2122 * sed/compile.c: Added struct sed_label (moved from sed.h, then
2123 modified).
2124 * sed/compile.c: Removed "readit_p" flag from struct fp_list.
2125 * sed/compile.c: Added module-global "blocks" variable.
2126 * sed/compile.c: Extracted more error-message constant strings
2127 to named variables.
2128 * sed/compile.c(check_final_program): updated to
2129 reflect new data structures and use new fucntions.
2130 Added call to compile_regex() to release unneeded
2131 memory.
2132 * sed/compile.c: deleted obsolete new_vector() function;
2133 abstracted new read_label() function; abstracted new
2134 release_label() function; added new `blocks' module-static
2135 variable.
2136 * sed/compile.c(compile_program): updated implementations
2137 of the `{', `}', `:', `b', and `t' commands; modified
2138 initialization from NULL vector.
2139 * sed/compile.c(compile_regex): added mechanism to
2140 release memory consumed by the cached `last' RE.
2141 * sed/compile.c(setup_jump,setup_label): updated
2142 name (from setup_jump to setup_label) and prototype;
2143 changed body to reflect data structure changes.
2144 * sed/compile.c: Add OPEN_BRACE and CLOSE_BRACE macros for better
2145 "vi" editing behavior.
2146 * sed/compile.c(compile_filename,read_filename,get_writefile):
2147 Replaced function compile_filename() with more orthogonal functions
2148 read_filename(), get_writefile().
2149 * sed/compile.c(compile_regex): Added ability to free the remembered
2150 "last RE" in compile_regex (for benifit of "NOLEAKS" code).
2151 * Made adjustments dictated by the change to struct sed_cmd which made
2152 the a2 member a pointer-to-addr instead of an addr.
2153 * sed/compile.c(setup_jump,read_label,setup_label,release_label):
2154 Added functions read_label(), setup_label(), release_label(); deleted
2155 function setup_jump().
2156 * sed/compile.c(new_replacement,setup_replacement,release_replacement):
2157 new functions.
2158 * sed/compile.c: Adjusted to new spelling of text_buf member
2159 ("text_length" instead of "text_len").
2160 * sed/compile.c(new_vector): deleted function. (Due to new handling
2161 of blocks, only one instance remained, and that one was just as
2162 clear in-lined.)
2163 * sed/compile.c(compile_string): Added third argument; it now
2164 takes a counted string instead of a NUL-terminated string.
2165 * sed/compile.c(compile_file): added variable "map_base" to
2166 compensate for new type of prog_info.base.
2167 * sed/compile.c(check_final_program): reflect new style of
2168 handling blocks and struct sed_label.
2169 * sed/compile.c(close_all_files,finish_program): replaced function
2170 close_all_files() with more generic finish_program().
2171 * sed/compile.c(read_text): added new feature: if first non-blank
2172 character after the {a,i,c} command character is not "\", then
2173 use the trailing text on that line as the (first) line of text.
2174 Also added code conditional on NO_INPUT_INDENT to support the
2175 "feature" of stripping leading blanks from each input line; I
2176 do not read POSIX as permitting this behavior, nor do I think
2177 it is a good idea, so it is disabled by default, but some have
2178 argued that this blank-stripping is the "correct" behavior, so
2179 I offer them the option of building their sed that way.
2180 * sed/compile.c(compile_address): added xxx,+n and xxx,~n addressing;
2181 simplified code.
2182 * sed/compile.c(compile_program): added BAD_PLUS error detection;
2183 adjusted to new cur_cmd->a2 pointer status; added addr_is_num2
2184 detection; deleted pointless "a2->addr_number < a1.addr_number"
2185 check (addr_is_num2 semantics handle this just fine); updated
2186 code for '{', '}', ':', 'b', and 't' to reflect new design
2187 of branch handling, including making use of new functions
2188 related to the new design); added support for feature already
2189 mentioned in read_text() where {a,i,c} commands are able to have
2190 their text start on the same line as the command; changed some
2191 error messages (hopefully for the better); localized variables
2192 specific to individual commands (particularly 's' and 'y');
2193 made use of new setup_replacement() function in 's' command.
2194
2195Mon Aug 10 19:58:49 PDT 1998 Ken Pizzini <[email protected]>
2196
2197 * doc/sed.texi, doc/sed.1: sedtut10.txt is apparently dead.
2198 Deleted references to it and added a pointer to
2199 http://seders.icheme.org/tutorials/. (Pointed out by
2200 Joerg Heitkoetter <[email protected]>.)
2201
2202Sat Aug 8 18:11:57 PDT 1998 Ken Pizzini <[email protected]>
2203
2204 * djgpp/config.btm: per request by Michel de Ruiter
2205 <[email protected]>, added "%1" to "%9" parameters.
2206
2207Mon Aug 3 11:44:55 PDT 1998 Ken Pizzini <[email protected]>
2208
2209 * doc/sed.texi: fix a couple of typos. (Submitted by
2210 Alan Modra <[email protected]>.)
2211
2212Sat Aug 01 17:49:06 PDT 1998 Ken Pizzini <[email protected]>
2213
2214 *** Version 3.02 released
2215
2216 * configure.in: Because of code change in 3.01a, bump the
2217 minor revision number for the release (now 3.02).
2218
2219Sun Jul 26 16:07:55 PDT 1998 Ken Pizzini <[email protected]>
2220
2221 *** Version 3.01a released
2222
2223 * sed/compile.c(snarf_char_class): the POSIX char-class
2224 recognition loop forgot to update its concept of "prev"
2225 as the loop progressed.
2226
2227 * testsuite/Makefile.am: The dependency of version.good
2228 on [testsuite/]Makefile introduced in the previous
2229 release was botched -- it referred to "Makefile"
2230 as "$(srcdir)/Makefile, which of course doesn't work
2231 if you aren't building in the source tree.
2232
2233 * djgpp/Makefile.am: add forgotten "config.btm" EXTRA_DIST
2234 member.
2235
2236 * configure.in: update version.
2237
2238Tue Jul 21 06:04:42 PDT 1998 Ken Pizzini <[email protected]>
2239
2240 *** Version 3.01 released
2241
2242 * configure.in: mark as release version!
2243
2244 * Makefile.am: add BUGS and THANKS to the EXTRA_DIST target.
2245
2246 * testsuite/Makefile.am: add dependency of version.good
2247 on [testsuite/]Makefile.
2248
2249Mon Jul 20 12:38:10 PDT 1998 Ken Pizzini <[email protected]>
2250
2251 * djgpp/config.btm: New file to support the 4DOS alternative
2252 to command.com. (Sumitted by Eli Zaretskii on behalf of
2253 an anonymous 4DOS user.)
2254
2255Fri Jul 17 00:36:34 PDT 1998 Ken Pizzini <[email protected]>
2256
2257 *** Version 3.01-beta18 released
2258
2259 * djgpp/config.sed: my "tweak" in beta17 was too
2260 hastily considered. Back it out.
2261
2262 * configure.in: update to beta18.
2263
2264Wed Jul 15 01:02:15 PDT 1998 Ken Pizzini <[email protected]>
2265
2266 *** Version 3.01-beta17 released
2267
2268 * djgpp/config.sed: tweak/simplify s,,, commands at end.
2269
2270 * configure.in: update to beta17.
2271
22721998-07-14 Eli Zaretskii <[email protected]>
2273
2274 * djgpp/config.sed: Edit all the occurences of = in the context of
2275 --option=value, including in the help messages, into
2276 --option:value, but leave DOS-style d:/foo/bar file names intact.
2277
2278 * djgpp/config.bat: Use --srcdir:foo instead of --srcdir=foo.
2279
2280 * testsuite/Makefile.am (help, version): Remove temporary files
2281 explicitly, don't use shell wildcards, so it works under DOS 8+3
2282 limits.
2283
2284Thu Jul 9 13:06:00 PDT 1998 16:51:43 PDT 1998 Ken Pizzini <[email protected]>
2285
2286 *** Version 3.01-beta16 released
2287
2288 * djgpp/config.sed: tweak the configure script to use :
2289 instead of = for --with-foo=bar option parsing, to
2290 work around problems with how command.com handles =s.
2291
2292Wed Jul 8 16:51:43 PDT 1998 Ken Pizzini <[email protected]>
2293
2294 * djgpp/config.bat: correct inappropriate behavior that I
2295 introduced in the beta13 changes (if first argument is
2296 a directory, it needs to be handled as the --srcdir).
2297
2298 * testsuite/version.gin, testsuite/version.good, testsuite/Makefile.am:
2299 Add target to automake to automatically update version.good
2300 from (new file) version.gin, instead of hand-editing the version
2301 number each release.
2302
2303 * testsuite/Makefile.am: miscellaneous gratuitious tweakage --
2304 mainly adding $(RM) commands just because I didn't like
2305 leaving the tmp* files from successful runs laying about.
2306 Also some editorial comments.
2307
2308 * configure.in: update to beta16. Added and commented out
2309 experiment with AC_OUTPUT() for testsuite/version.good.
2310 Added code to properly handle bare (without =xxx)
2311 "--with-regex" option.
2312
2313Sun Jul 5 21:02:16 PDT 1998 Ken Pizzini <[email protected]>
2314
2315 *** Version 3.01-beta15 released
2316
2317 * sed/utils.c(ck_fflush), sed/utils.h, sed/execute.c(output_line):
2318 add and use new ck_fflush() function.
2319
2320Sun Jul 5 15:23:47 PDT 1998 Ken Pizzini <[email protected]>
2321
2322 * sed/compile.c(bad_prog): add more detail to error
2323 messages about -e strings.
2324
2325Sun Jul 5 14:29:45 PDT 1998 Ken Pizzini <[email protected]>
2326
2327 * sed/compile.c(mark_subst_opts), sed/execute.c(do_subst):
2328 Define better semantics for interaction of the `g' flag
2329 with a numeric flag to the s/// command. It used to
2330 be that the `g' command siezed control; now the first
2331 (number-1) matches are skipped and then `g' gets control
2332 after that. (It is not clear whether this is a feature
2333 sneaking in during late beta, or a bug fix; the changes
2334 involved were trivial, so I decided to treat it as a bug
2335 fix.)
2336
2337 * configure.in, testsuite/version.good: update to beta15.
2338
2339Sat Jul 4 09:54:45 PDT 1998 Ken Pizzini <[email protected]>
2340
2341 *** Version 3.01-beta14 released
2342
2343 * sed/basicdefs.h, sed/compile.c, sed/execute.c:
2344 per report by "Kaveh R. Ghazi" <[email protected]>,
2345 copied the ISXXX macros from lib/regex.c so that
2346 silly machines which require isascii() to be true
2347 before the other isXXX() macros are valid will
2348 still work.
2349
2350 * configure.in, testsuite/version.good: update to beta14.
2351
2352Thu Jul 2 23:46:13 PDT 1998 Ken Pizzini <[email protected]>
2353
2354 *** Version 3.01-beta13 released
2355
2356 * configure.in, acconfig.h: set USE_REGEX_GNU_H symbol if we
2357 are going to be using lib/regex.c.
2358
2359 * lib/Makefile.am, lib/regex.h, lib/regex-gnu.h, lib/regex.c:
2360 rename lib/regex.h to lib/regex-gnu.h, so that those who
2361 choose to use a different regex implementation will not
2362 pick-up lib/regex.h when doing "#include <regex.h>".
2363
2364 * sed/regex-sed.h, sed/Makefile.am, sed/compile.c, sed/execute.c,
2365 sed/sed.c: create sed/regex-sed.h which acts as a switch
2366 to choose either lib/regex.h or the user-supplied <regex.h>,
2367 depending on the value passed to configure's --with-regex=
2368 option.
2369
2370Thu Jul 2 17:22:31 PDT 1998 Ken Pizzini <[email protected]>
2371
2372 * configure.in: if an alternative --with-regex= is given,
2373 do an AC_CHECK_FUNCS(regnexec regexec) to ensure that
2374 at least one of these functions is available. Also,
2375 parallel changes for the default case.
2376
2377 * sed/execute.c, acconfig.h: retire use of the WITH_REGNEXEC
2378 test macro in favor of HAVE_REGNEXEC test macro created
2379 by above change.
2380
2381 * djgpp/config.bat: Play games to handle "install-sh",
2382 DOS filename restrictions, GNU makefile default rules,
2383 and getting a correct run of "configure" (contributed
2384 by Eli Zaretskii <[email protected]>).
2385
2386 * djgpp/Makefile.am, testsuite/Makefile.am, testsuite/Makefile.in,
2387 Makefile.am, configure.in: Various automake targets
2388 (such as distcheck) failed with old configuration.
2389 The simplest solution was to just add these .am
2390 files. (The testsuite/Makefile.in was just renamed to
2391 testsuite/Makefile.am, then various redundant defines and
2392 targets were deleted.) (Reported by Erick Branderhorst
2393 <[email protected]>.)
2394
2395 * testsuite/dc.good, testsuite/dc.inp: per suggestion from
2396 Greg Ubben <[email protected]>, use base 16 output to
2397 exercise even more of the dc.sed script.
2398
2399 * configure.in, testsuite/version.good: update to beta13.
2400
2401Sun Jun 28 16:21:02 PDT 1998 Ken Pizzini <[email protected]>
2402
2403 *** Version 3.01-beta12 released
2404
2405 * doc/sed.texi: Avoid mixing @code and @samp markups together:
2406 they look ugly in Info. Use @url and @email instead of @example.
2407 Add indexes. (Basis of changes contributed by Eli Zaretskii.)
2408
2409 * djgpp/*, Makefile.am: add support for the DJGPP compiler,
2410 contributed by Eli Zaretskii <[email protected]>.
2411
2412 * dc.sed, testsuite/Makefile.in, testsuite/dc.inp, testsuite/dc.good:
2413 added this remarkable script, written and contributed
2414 by Greg Ubben <[email protected]>, both as a work of
2415 art for general admiration, and also for use in regression
2416 testing.
2417
2418 * configure.in, lib/Makefile.am: add --with-regex=regexlib
2419 option, which overrides the use of lib/regex.c.
2420
2421 * configure.in, testsuite/version.good: update to beta12.
2422
2423Fri Jun 12 16:41:48 PDT 1998 Ken Pizzini <[email protected]>
2424
2425 *** Version 3.01-beta11 released
2426
2427 * sed/compile.c: add module-static variables first_script
2428 (for #n change below) and pending_text (for a/c/i change
2429 below).
2430
2431 * sed/compile.c(compile_file), sed/compile.c(compile_program):
2432 Instead of having #n trigger the -n option in *any file*,
2433 have #n trigger the -n option only if they are the first
2434 two bytes of the first script or script-file.
2435
2436 * sed/compile.c(compile_string), sed/compile.c(compile_file):
2437 clear the first_script variable at end of these functions.
2438
2439 * sed/sed.h: tease out the struct text_buf declaration from
2440 struct sed_cmd, so that a pointer to such can be passed
2441 to new sed/compile.c(read_text) function.
2442
2443 * sed/compile.c(compile_program), sed/compile.c(read_text):
2444 Tease out handling of text to a/c/i commands to new
2445 read_text() function. Handle (via aid of pending_text
2446 variable) texts which span more than one script/script-file
2447 option. In particular, restore the ability to have this
2448 work: sed -e '1i\' -e 'foo'
2449
2450 * sed/compile.c(check_final_program): close off any dangling
2451 pending_text allocation.
2452
2453Thu Jun 11 11:17:46 PDT 1998 Ken Pizzini <[email protected]>
2454
2455 * sed/execute.c(do_subst): fixed two bugs: s/ */X/g was failing
2456 to match the final empty string after the end of the pattern
2457 space; and /^foo$/s/o/x/3p was printing, despite the failure
2458 to do a substition.
2459
2460Fri Jun 5 04:40:24 PDT 1998 Ken Pizzini <[email protected]>
2461
2462 * configure.in: change the AC_ARG_WITH(regnexec, ...)
2463 to be the more appropriate AC_ARG_ENABLE(regnexec, ...).
2464
2465 * configure.in, testsuite/version.good: update to beta11.
2466
2467Fri Jun 5 00:54:25 PDT 1998 Ken Pizzini <[email protected]>
2468
2469 *** Version 3.01-beta10 released
2470
2471 * sed/execute.c: forgot to P_() the prototype and
2472 old-style the declaration for bootstrap_memchr()!
2473
2474Thu Jun 4 18:42:30 PDT 1998 Ken Pizzini <[email protected]>
2475
2476 * sed/compile.c(snarf_char_class): added code to
2477 recognize \n or \<newline> sequence within a
2478 char-class as the newline character.
2479
2480Tue Jun 2 11:56:02 PDT 1998 Ken Pizzini <[email protected]>
2481
2482 * configure.in: added check for <sys/types.h> and
2483 a AC_ARG_WITH(regnexec,...) check, to simplify use
2484 of other regex libraries which have regexec() but
2485 not regnexec(), with the corresponding loss of
2486 functionality (regexps will not work right against
2487 input lines which contain NULs).
2488
2489 * sed/execute.c: add nul_append() function, a #define
2490 for a regnexec() -> regexec() macro (conditional on
2491 the lack of the WITH_REGNEXEC symbol), and a couple
2492 of calls to nul_append() (in match_an_address_p()
2493 and do_subst()) to permit the use of the POSIX standard
2494 regexec() function call instead of the suggested
2495 regnexec() call.
2496
2497 * sed/compile.c, sed/execute.c, sed/sed.c: check for
2498 <sys/types.h> and include it (before "regex.h") if
2499 available. This makes it simpler to use the system's
2500 regex library instead of the one in lib/regex.c, should
2501 that be desired.
2502
2503Tue Jun 2 08:41:05 PDT 1998 Ken Pizzini <[email protected]>
2504
2505 * sed/basicdefs.h: define VCAST macros to allow sed to
2506 compile on systems which predate the definition
2507 of "void *", and yet still get feedback about
2508 stupid programming errors from systems which *do*
2509 know about "void *"s. Also define MALLOC, REALLOC,
2510 MEMDUP, and FREE macros to keep under control the
2511 degree of code ugliness which would otherwise be
2512 introduced in making use of the VCAST macro.
2513
2514 * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c:
2515 pervasively use the new VCAST, MALLOC, REALLOC, MEMDUP,
2516 and FREE macros wherever appropriate.
2517
2518 * sed/utils.c, sed/utils.h: correct type of first arguments
2519 to ck_fread() and ck_fwrite() to be [const] VOID *.
2520
2521 * sed/basicdefs.h, sed/execute.c: protect against
2522 the rumored systems which stupidly #define __STDC__ 0.
2523
2524 * testsuite/help.good, testsuite/Makefile.in: make
2525 the ``help'' test insensitive to the spelling of
2526 the executable's name. Also, enhanced `make clean'
2527 target.
2528
2529 * doc/sed.texi, doc/sed.1: correct documentation of `q'
2530 command; fix typos.
2531
2532 * configure, testsuite/version.good: update to beta10.
2533
2534Sat May 30 17:28:00 PDT 1998 Ken Pizzini <[email protected]>
2535
2536 *** Version 3.01-beta9 released
2537
2538 * Makefile.am: make testsuite a normal SUBDIR.
2539
2540 * configure.in: discontinue using AC_ISC_POSIX --
2541 check for -lcposix library instead; added
2542 testsuite/Makefile to AC_OUTPUT list.
2543
2544 * lib/memmove.c(memmove): fixed wrong sense used
2545 for HAVE_BCOPY test.
2546
2547 * sed/execute.c: checked more specifically for a version
2548 of gcc which supports __attribute__ (i.e., >= 2.7).
2549
2550 * testsuite/*: renamed files to fit 14 char limit.
2551
2552 * testsuite/Makefile, testsuite/Makefile.in: Makefile
2553 renamed to Makefile.in and then modified so that
2554 "make -j check" from top directory will work.
2555
2556 * testsuite/subwrite.sed, testsuite/writeout.sed: changed
2557 file name of the "w" command to be consistent with the
2558 new naming used in testsuite/Makefile.in.
2559
2560 * doc/sed.1, doc/sed.texi: fixed some typos, formatting
2561 glitches, and poor wordings.
2562
2563Sat May 30 04:02:29 PDT 1998 Ken Pizzini <[email protected]>
2564
2565 * configure.in: specify that config.h is to be derived
2566 from config_h.in in order to avoid the braindead
2567 DOS file system limitations.
2568
2569Fri May 29 21:56:30 PDT 1998 Ken Pizzini <[email protected]>
2570
2571 * sed/compile.c(compile_address), doc/sed.texi: gave
2572 a better definition to the meaning of N~0 address
2573 forms -- N~M addresses now mean that lines match
2574 when there exists a non-negative x such that
2575 lineno == N+x*M.
2576
2577Fri May 29 12:07:38 PDT 1998 Ken Pizzini <[email protected]>
2578
2579 * sed/compile.c(compile_address),
2580 sed/execute.c(match_an_address_p): update semantics of
2581 N~M address form: now N is the first line which will
2582 match and M is the step between succeeding matches.
2583 If N<M this works out to the same as before, but the
2584 new behavior for N>=M seems more useful.
2585
2586 * doc/sed.1, doc/sed.texi: update documentation of N~M
2587 address form; added "Other Resources" node to sed.texi;
2588 minor formatting changes to some items in sed.1 with
2589 an eye to improving clarity.
2590
2591 * configure.in, testsuite/version.good: update to beta9.
2592
2593Sat May 23 20:04:31 HST 1998 Ken Pizzini <[email protected]>
2594
2595 *** Version 3.01-beta8 released
2596
2597 * sed/compile.c(compile_regex): forgot to make last_re be
2598 a *copy* of the buffered text in today's earlier fix.
2599
2600 * sed/execute.c(read_file_line): EOF check was wrong --
2601 it forgot to allow for the possibility that we were
2602 appending to the end of the ``line'' (instead of merely
2603 reading a fresh line).
2604
2605Sat May 23 18:07:18 HST 1998 Ken Pizzini <[email protected]>
2606
2607 * sed/compile.c(compile_regex): don't track compiled version
2608 of regex -- the modifiers may change. Track the regex
2609 source instead. (For "last regex" (aka //) notation.)
2610
2611 * configure.in, testsuite/version.good: update to beta8.
2612
2613Sat May 23 16:07:09 HST 1998 Ken Pizzini <[email protected]>
2614
2615 *** Version 3.01-beta7 released
2616
2617 * sed/execute.c: #undef'd EXPERIMENTAL_DASH_N_OPTIMIZATION
2618 because its code is buggy.
2619
2620Tue May 19 17:03:52 HST 1998 Ken Pizzini <[email protected]>
2621
2622 * sed/sed.c: label rx library code as such with #ifdefs
2623 (instead of just #if 0).
2624
2625 * sed/compile.c(compile_program): make incremental
2626 improvement to the "Unknown command" error message.
2627
2628Sat May 16 23:16:26 HST 1998 Ken Pizzini <[email protected]>
2629
2630 * testsuite/Makefile: simplify: get rid of automatic run
2631 against system's sed; don't time by default; allow for
2632 alternative comparison command.
2633
2634 * configure.in, testsuite/version.good: update to beta7.
2635
2636Wed May 13 21:44:28 PDT 1998 Ken Pizzini <[email protected]>
2637
2638 *** Version 3.01-beta6 released
2639
2640 * lib/Makefile.am: fix spelling of libsed_a_LIBADD in
2641 libsed_a_DEPENDENCIES.
2642
2643 * configure.in, testsuite/version.good: update to beta6.
2644
2645Wed May 13 14:38:08 PDT 1998 Ken Pizzini <[email protected]>
2646
2647 *** Version 3.01-beta5 released
2648
2649 * sed/execute.c(do_subst): added not_bol_p variable to track when
2650 we have iterated past the beginning of the pattern.
2651 [Thanks to Jim Meyering <[email protected]> for the bug report.]
2652
2653Wed May 13 13:54:04 PDT 1998 Ken Pizzini <[email protected]>
2654
2655 * sed/execute.c(bootstrap_memchr): new function. When
2656 bootstrapping we don't know if we are on a 64-bit machine,
2657 so lib/memchr.c breaks. Supply this (slow) implementation
2658 just to get us bootstrapped.
2659
2660 * bootstrap.sh: add a #define BOOTSTRAP symbol; add -I.
2661 for emphasis for the compiles in sed/; be explicit
2662 about what files we're bothering to compile.
2663
2664 * configure.in, testsuite/version.good: update version
2665 to beta5.
2666
2667Wed May 13 06:39:06 PDT 1998 Ken Pizzini <[email protected]>
2668
2669 *** Version 3.01-beta4 released
2670
2671 * rename writeout.good? to wrtout?.good and subwrite.good? to
2672 subwrt?.good to comply with DOS 8+3 file name restrictions.
2673 [Eli Zaretskii <[email protected]> suggested this to
2674 simplify DJGPP ports, and it was easy.]
2675
2676 * testsuite/Makefile: reflect above name changes.
2677
2678Wed May 12 21:09:32 PDT 1998 Ken Pizzini <[email protected]>
2679
2680 * sed/sed.c(usage): fix non-portable omission of \n\ at end of
2681 lines within long string.
2682
2683 * sed/sed.c(main): remove spurious argument to fprintf() in the
2684 'V'ersion output.
2685
2686 * sed/execute.c(line_append): embed newline between the two
2687 text fragments unconditionally.
2688
2689 * sed/execute.c(do_subst): change structure assignment to memcpy()
2690 (for portability reasons).
2691
2692 * README.bootstrap: suggest using -w option.
2693
2694Tue May 12 10:02:37 PDT 1998 Ken Pizzini <[email protected]>
2695
2696 * configure.in: use AC_REPLACE_FUNCS where appropriate.
2697
2698 * lib/Makefile.am: updated to reflect AC_REPLACE_FUNCS change in
2699 configure.in.
2700
2701 * lib/memchr.c lib/memcmp.c: revert to standard GNU versions.
2702
2703 * lib/alloca.c: added this missing file.
2704
2705 * testsuite/version.good: updated for new version identifier.
2706
2707Mon May 11 18:50:56 PDT 1998 Ken Pizzini <[email protected]>
2708
2709 *** Version 3.01-beta3 released
2710
2711 * sed/Makefile.am: fix INCLUDES to work right with VPATH.
2712 [Thanks to Jim Meyering <[email protected]> for the bug report.]
2713
2714 * sed/sed.c(usage): make --help output more user-friendly?
2715
2716 * sed/execute.c(execute_program): fix bug in 'x' command introduced
2717 in the alleged portability fix of May 9.
2718
2719 * configure.in: update version to 3.01-beta3.
2720
2721 * testsuite/version.good, testsuite/help.good: freshen with
2722 latest output.
2723
2724Sat May 9 22:35:45 PDT 1998 Ken Pizzini <[email protected]>
2725
2726 *** Version 3.01-beta2 released
2727
2728 * sed/sed.c: add #include <sys/types.h> in HAVE_MMAP
2729 block (needed on some machines).
2730
2731 * lib/memmove.c: #include <memory.h>, if HAVE_MEMORY_H.
2732
2733Sat May 9 21:29:00 PDT 1998 Ken Pizzini <[email protected]>
2734
2735 * configure.in: remove dangling references to rx library;
2736 added HEADER and FUNC checks for items used by source in
2737 lib/.
2738
2739 * lib/ansidecl.h, lib/memcopy.h, lib/pagecopy.h, lib/string.h
2740 lib/memcpy.c, lib/memmove.c: deletes these files. There
2741 are still pieces of glibc missing to support these, and
2742 it isn't worth the headache right now.
2743
2744 * lib/memmove.c: de novo, simpler version. Uses bcopy()
2745 if available, and slow-but-simple code if not.
2746
2747 * lib/Makefile.am: remove references to deleted files.
2748 Added forgotten reference to memcpy.c. Re-ordered
2749 SOURCE entries to reflect dependencies for systems
2750 which lack ranlib.
2751
2752 * sed/basicdefs.h: updated to reflect above changes to lib/,
2753 and experience with non-STDC compilers.
2754
2755 * lib/regex.c: made regerror() function publicly visible.
2756
2757 * lib/strerror.c: use old-style function declaration.
2758
2759 * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c,
2760 sed/sed.h, sed/utils.h: ensure that private definitions of
2761 some symbols do not cause problems when #include'ing system
2762 headers (mainly by re-ordering the #include directives).
2763 (This is particularly an issue for bootstrap.sh runs.)
2764
2765 * sed/execute.c (execute_program): use memcpy() instead of
2766 structure assingment ('x' command), for portablility to
2767 old compilers.
2768
2769 * sed/execute.c (slow_getline): use old-style function
2770 declaration, with a P_ prototype.
2771
2772 * sed/sed.c: change the type of the fallback MAP_FAILED
2773 definition to work on archaic systems. (Modern systems
2774 should be defining it themselves, so the change from
2775 void * shouldn't be a problem.)
2776
2777 * bootstrap.sh, README.bootstrap: actual testing of bootstrap
2778 code revealed that I was too optimistic. Redesigned and
2779 replaced implementation.
2780
2781 * testsuite/Makefile: ignore errors from reference-implementation
2782 seds that aren't up to snuff.
2783
2784 * testsuite/help.good, testsuite/version.good: update to
2785 current version's output.
2786
2787Fri May 8 15:08:28 PDT 1998 Ken Pizzini <[email protected]>
2788
2789 *** Version 3.01-beta1 released
2790
2791 * sed/sed.c (main, usage): once again tweak the --help and
2792 --version output to bettery comply with GNU coding standards.
2793
2794 * testsuite/help.good, testsuite/version.good: update to
2795 reflect above change.
2796
2797 * doc/sed.texi: fix "Invoking" node's spelling to comply
2798 with GNU standards.
2799
2800Fri May 8 11:43:10 PDT 1998 Ken Pizzini <[email protected]>
2801
2802 * doc/sed.1, doc/Makefile.am: wrote (very basic) man page.
2803
2804Thu May 7 20:40:21 PDT 1998 Ken Pizzini <[email protected]>
2805
2806 * lib/Makefile.am, lib/memmove.c, lib/memchr.c, lib/regex.c,
2807 lib/memcpy.c, lib/regex.h, lib/memcopy.h, lib/string.h,
2808 lib/pagecopy.h, lib/ansidecl.h: grab yet-another-version
2809 from gnu.org for baseline and/or edit copyright boilerplate
2810 using official lgpl2gpl.sed script. Take care not to
2811 loose regnexec() interface or special conditional-compilation
2812 code.
2813
2814Wed May 6 23:35:12 PDT 1998 Ken Pizzini <[email protected]>
2815
2816 * lib/regex.c, lib/regex.h: take from grep-2.1 distribution,
2817 then trivially added the regnexec() interface.
2818
2819 * sed/sed.c, sed/compile.c, sed/execute.c: made modifications
2820 to work with regex instead of rx.
2821
2822 * rx/*: deleted directory; the code is just too slow.
2823 I think it will be easier to extend regex to fully
2824 support POSIX.2 than to tune rx to be reasonable.
2825 Even if this supposition is wrong, I'd rather make
2826 the 3.01 release with the slightly deficient regex.
2827
2828 * Makefile.am lib/Makefile.am, sed/Makefile.am: made changes
2829 related to the substitution of regex for rx.
2830
2831 * lib/Makefile.am, sed/Makefile.am: since regex is not a
2832 ``compatability'' module, changed name of library to
2833 ``libsed.a''.
2834
2835 * lib/memchr.c, lib/memcpy.c, lib/memmove.c: add conditional
2836 compilation code to leave zero-sized .o file if system
2837 already supports the implemented function.
2838
2839 * testsuite/help.good, testsuite/version.good: brought
2840 up-to-date (once again).
2841
2842 * NEWS, ANNOUNCE: changes to reflect this batch of changes.
2843
2844Wed May 6 18:40:47 PDT 1998 Ken Pizzini <[email protected]>
2845
2846 * sed/execute.c: discovered awful bug in '}' handling:
2847 it could read past the end of vec (because `n' was
2848 being decremented below zero)! Needed to "continue"
2849 instead of "break".
2850
2851Tue May 5 14:34:38 PDT 1998 Ken Pizzini <[email protected]>
2852
2853 * doc/sed.texi, doc/version.texi: wrote some rudimentary
2854 texinfo documentation.
2855
2856 * ANNOUNCE, NEWS, README, README.rx, Makefile.am:
2857 more updates for the upcoming beta-release.
2858
2859 * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c,
2860 sed/sed.h, lib/strerror.c: update copyright notice text.
2861
2862Fri May 1 15:41:37 PDT 1998 Ken Pizzini <[email protected]>
2863
2864 * sed/execute.c (match_an_address_p, match_address_p): if
2865 the second element of an address range is a line number,
2866 and that line number is *less than* (or equal to) the
2867 current line number, we only match the one line (per
2868 POSIX.2, section 4.55.7.1). [Bug discovered as reported
2869 in the seders mailing list FAQ.]
2870
2871 * AUTHORS, NEWS, acconfig.h, configure.in, doc/Makefile.am,
2872 lib/Makefile.am, sed/Makefile.am, lib/README,
2873 testsuite/help.good, testsuite/version.good:
2874 Updated in anticipation of the 3.01-beta1 release.
2875 Reorganized development source tree to make creation
2876 of a distribution simpler. Most notable changes were
2877 to the various Makefile.am files and configure.in, but
2878 some minor edits (such as deleting or changing #include
2879 directives) have been made in many other source files.
2880
2881 * bootstrap.sh, README.bootstrap: created a mechanism for
2882 creating sed on a system which lacks a working sed.
2883
2884Thu Apr 16 23:52:11 PDT 1998 Ken Pizzini <[email protected]>
2885
2886 * sed.h, sed.c, execute.c, compile.c: did a spell-check on
2887 the comments; fixed several typos.
2888
2889Thu Apr 16 13:43:01 PDT 1998 Ken Pizzini <[email protected]>
2890
2891 * execute.c (do_subst): fixed bug where the "replaced" flag
2892 was being set to one inappropriately when at least one
2893 but fewer than sub->numb matches of the regexp were found.
2894 (Thanks to Simon Taylor <[email protected]>
2895 for the bug report.)
2896
2897Wed Apr 15 11:35:31 PDT 1998 Ken Pizzini <[email protected]>
2898
2899 * sed.h, sed.c, compile.c, execute.c: having a concern that
2900 a cast was being done inappropriately, and realizing that
2901 there is no quick way to locate all casts in a program, I
2902 went through and marked all casts with a simple macro.
2903 Now it is a simple matter to locate the casts, and it is
2904 also a simple matter to turn of casts for a lint session
2905 (if it should be desired).
2906
2907Wed Apr 15 10:29:21 PDT 1998 Ken Pizzini <[email protected]>
2908
2909 * compile.c, sed.c: redo compile phase so that brace
2910 expressions can be spread across multiple files.
2911 For example:
2912 printf '{' >a; printf 'l;d' >b; printf '}' >c
2913 sed -f a -f b -f c foo
2914 will now compile (and work), instead of complaining
2915 about an unmatched '{'. The mess created in compile.c
2916 allowed a little simplification to the command-line
2917 processing of "-e" options in sed.c.
2918
2919 sed.h: added (opaque) err_info member to struct vector;
2920 added comments to the members of struct vector.
2921
2922Wed Apr 14 23:50:50 PDT 1998 Ken Pizzini <[email protected]>
2923
2924 * sed.h, sed.c, compile.c, execute.c: added types countT and
2925 flagT in order to clarify what various "int"s were doing.
2926 Also makes it easy to change the type used for counts
2927 (for example, to "unsigned long long") if desired, although
2928 there are still some gotchas (such as the printf() format
2929 for the '=' command).
2930
2931Tue Apr 14 17:34:54 PDT 1998 Ken Pizzini <[email protected]>
2932
2933 * execute.c (execute_program, process_files, count_branches,
2934 shrink_program): Added a first attempt at program optimization.
2935 We now can quit early if we are running with the "-n"
2936 and all of the commands are known to be valid only for
2937 lines less than the current line. Thus the "sed" in
2938 "foo | sed -n 1,2p" will print read three lines, printint
2939 the first two, and then quit, regardless of how much longer
2940 "foo" might run or output. This optimization does not buy
2941 much in most cases (it sometimes even costs a little),
2942 but when it does help it can help big. The code is
2943 all conditionally compiled based on the
2944 EXPERIMENTAL_DASH_N_OPTIMIZATION symbol being #defined,
2945 so it can be easily omitted if it causes problems.
2946
2947Tue Apr 14 12:25:06 PDT 1998 Ken Pizzini <[email protected]>
2948
2949 * execute.c (test_dollar_EOF, last_file_with_data_p):
2950 test_dollar_EOF() was incorrectly returning a false (0)
2951 when there were unprocessed files, none of which had any
2952 data (either unopenable or zero-length). Created
2953 last_file_with_data_p() to detect this situation, and
2954 modified test_dollar_EOF() to make use of it.
2955
2956Thu Apr 2 23:02:18 PST 1998 Ken Pizzini <[email protected]>
2957
2958 * compile.c (match_slash): match_slash() did not handle
2959 [.coll.], [=equiv=], and [:class:] sequences within a
2960 character class. Added snarf_char_class() [which is a
2961 remote derivative of parse_char_class() from GNU ed-0.2]
2962 to deal with the details, and altered match_slash()
2963 to make use of it. Also created the trivial
2964 add_then_next() to avoid clutter in snarf_char_class().
2965
2966Thu Apr 2 20:34:42 PST 1998 Ken Pizzini <[email protected]>
2967
2968 * execute.c, sed.c, sed.h: There was a severe bug in
2969 how the code handled "sed 5n a b" when "a" consists
2970 of exactly five lines -- it behaved like "sed 5q a b"!
2971
2972 Rearranged where files get opened -- large scale
2973 changes primarily involving main(), process_files(),
2974 and read_pattern_space(), but also touching on several
2975 other parts of execute.c. The read_pattern_space()
2976 function became unwieldly and parts were split into
2977 open_next_file(), closedown(), read_always_fail(),
2978 read_mem_line(), and read_file_line(). The
2979 at_end_of_file_p() function became obsolete and was
2980 eliminated; test_dollar_EOF_p() was updated. A few
2981 global and module-static variables were elminated, and
2982 "struct line" was extended; comments were added to the
2983 "struct line" declartation to document some important
2984 dependencies in it.
2985
2986 I undertook the reorganization with dread, but I
2987 feel that the new organization is an improvement
2988 well beyond just fixing the bug that inspired it.
2989
2990Thu Apr 2 01:16:25 PST 1998 Ken Pizzini <[email protected]>
2991
2992 * execute.c (read_file_line, slow_getline): the fread()
2993 buffering code gives insufficient feedback to a user
2994 running sed with a tty input device, so I created
2995 slow_getline() for reading from a tty device.
2996 Additionally, EOF detection has been made a little more
2997 sensitive to avoid requiring multiple EOFs to be entered
2998 from a tty.
2999
3000 * configure.in: added isatty() check.
3001
3002Wed Apr 1 11:04:30 PST 1998 Ken Pizzini <[email protected]>
3003
3004 * configure.in (CPPFLAGS, LDFLAGS, LIBS):
3005 Set to appropriate values if large file support needs
3006 explicit enabling. Code fragment taken from a 1997-10-25
3007 patch to gawk by Paul Eggert <[email protected]>
3008
3009Thu Aug 14 17:43:27 PDT 1997 Ken Pizzini <[email protected]>
3010
3011 * utils.c (ck_fclose): modified to ignore NULL parameter.
3012
3013Thu Aug 14 12:08:45 PDT 1997 Ken Pizzini <[email protected]>
3014
3015 * execute.c: tweaked execute_program() to eliminate
3016 gratuitous "goto" usage.
3017
3018Thu Aug 14 11:30:04 PDT 1997 Ken Pizzini <[email protected]>
3019
3020 * compile.c: added case-insensitive modifier ('I') to
3021 address and s/// regexps. The s/// case also accepts
3022 the more popular 'i' modifier. (The address regexp
3023 cannot use 'i' as a modifier, as that conflicts with
3024 the use of the 'i'nsert command.)
3025
3026Thu Aug 14 09:29:06 PDT 1997 Ken Pizzini <[email protected]>
3027
3028 * compile.c: abstracted out match_slash() from the s///, y///,
3029 and address-regexp special-case codes.
3030
3031 * execute.c: made dump_append_queue() use ck_fread() instead
3032 of hand-rolled error checking.
3033
3034Mon Jul 28 10:50:41 PDT 1997 Ken Pizzini <[email protected]>
3035
3036 * sed.c, sed.h, execute.c: POSIX.2, section 4.55.7, says that
3037 a newline must end *every* output line. But I think that
3038 it is useful (when seding a binary file) to omit a trailing
3039 newline if the input lacks one. Thus the addition of
3040 POSIXLY_CORRECT behavior.
3041
3042 * execute.c: however, when seding multiple files my feeling
3043 is that it makes sense to have each file but the last
3044 behave as-if it ended in a newline. Modified read_pattern_space()
3045 accordingly.
3046
3047 * utils.c: realized that add1_buffer(), for performance reasons,
3048 shouldn't be calling memcpy() (indirectly via add_buffer()),
3049 so rewrote it.
3050
3051Sat Jul 26 23:08:28 PDT 1997 Ken Pizzini <[email protected]>
3052
3053 * execute.c: attempted to make read_pattern_space more
3054 efficient for the the non-mmap() case.
3055
3056 * utils.c, utils.h, execute.c: new function ck_fread()
3057 created and used.
3058
3059Sat Jul 26 20:22:14 PDT 1997 Ken Pizzini <[email protected]>
3060
3061 * execute.c, compile.c, sed.c: abstracted the mmap()
3062 interface into map_file()/unmap_file() [sed.c], and
3063 changed the ad-hoc code in compile_file() [compile.c]
3064 and process_file() [execute.c] to make use of the new
3065 interface.
3066
3067Sat Jul 26 19:45:46 PDT 1997 Ken Pizzini <[email protected]>
3068
3069 * execute.c, compile.c, configure.in: Check to see if mmap()
3070 is available; if so make use of it on regular files.
3071
3072 * compile.c: compile_file() now closes the input file
3073 when it is through!
3074
3075Sun Jul 20 23:57:02 PDT 1997 Ken Pizzini <[email protected]>
3076
3077 * compile.c: modified parsing to permit whitespace in more
3078 places where it makes sense;
3079 added backslash escaping to the y/// command, per POSIX.
3080
3081 * execute.c: Merged append_pattern_space() into read_pattern_space();
3082 moved body of 's' command to new function do_subst();
3083 moved body of 'l' command to new function do_list();
3084 changed output of 'l' command to conform to POSIX.2;
3085 made line handling conform to POSIX; added output_line() function;
3086 redesigned append-space algorithm; added append_queue structure and
3087 the next_append_slot() and dump_append_queue() functions.
3088
3089 * sed.h: moved the definition of what is now struct subst
3090 outside of the definition of struct sed_cmd.
3091
3092Sat Jul 19 16:29:09 PDT 1997 Ken Pizzini <[email protected]>
3093
3094 * sed.c, execute.c, sed.h, Makefile.am: Separated out the
3095 pieces dealing with executing the program from the top-level
3096 parameter parsing and control.
3097
3098Sat Jul 19 01:16:35 PDT 1997 Ken Pizzini <[email protected]>
3099
3100 * sed.c, compile.c, sed.h, Makefile.am: separate out the
3101 pieces dealing with compiling the program from the pieces
3102 dealing with interpreting the result.
3103
3104 * compile.c: add functions in_nonblank() and in_integer(),
3105 and change interface to compile_address() with an eye
3106 to making code clearer.
3107
3108Fri Jul 18 13:35:50 PDT 1997 Ken Pizzini <[email protected]>
3109
3110 * utils.c: attempt at a quasi-unification of the
3111 STDC and traditional C approaches to panic().
3112
3113 * sed.c: eliminate some gratuitous bit twiddling.
3114 (Using flag bits can be a useful technique, but
3115 this code is cleaner without them.)
3116
3117 * sed.c: place mutually exclusive members of struct addr
3118 within a union, mainly to document the exclusivity;
3119 eliminate unused structure members from struct fp_list;
3120 eliminate unnecessary module-global variables;
3121 remove some #if 0 code that is too odd to keep;
3122 allegedly simplified the 'l' case of execute_program();
3123 allegedly simplified inchar();
3124 localized some static variables;
3125 renamed some variables to better document their purpose;
3126 removed some goto-s rendered obsolete by other changes.
3127
3128Thu Jul 17 15:30:44 PDT 1997 Ken Pizzini <[email protected]>
3129
3130 * utils.c, utils.h, sed.c: added and made use of
3131 ck_free() function.
3132
3133 * utils.c, utils.h, sed.c: changed all the *_buffer()
3134 functions to take/return an incomplete type
3135 "struct buffer *" instead of using VOID *.
3136
3137 * utils.c, utils.h, sed.c: renamed "finish_buffer()"
3138 to "free_buffer()", on the premise that the new
3139 name better describes the function's purpose.
3140
3141Wed Jul 16 13:52:14 PDT 1997 Ken Pizzini <[email protected]>
3142
3143 * utils.c, utils.h, sed.c: added and made use of
3144 ck_memdup() function.
3145
3146 * sed.c: protected a call to add1_buffer() in
3147 compile_program() which could have tried to
3148 push an EOF if a a/i/c command ended with
3149 a '\', EOF sequence.
3150
3151 * utils.c: added sanity check to add1_buffer() so that
3152 EOF will not be added to the buffer.
3153
3154Wed Jul 16 03:56:26 PDT 1997 Ken Pizzini <[email protected]>
3155
3156 * configure.in, compat.h, compat.c: added memchr.
3157
3158 * sed.c: got rid of arbitrary NUM_FPS limit;
3159 made global functions and variables "static" where appropriate;
3160 make various cosmetic changes, hopefully improving readability;
3161 simplified some redundant predicates;
3162 simplified some code, but nothing fundamental (yet?).
3163
3164Wed Jul 16 00:24:54 PDT 1997 Ken Pizzini <[email protected]>
3165
3166 * alloca.c, getopt.c, getopt.h, getopt1.c: updated from
3167 versions in textutils-1.22.
3168
3169 * Makefile.in, Makefile.am, configure.in: put in automake support.
3170
3171 * basicdefs.h, compat.h, compat.c [, sed.c, utils.c]: took out
3172 some very ugly compatibility #ifdefs and packaged into one
3173 place.
3174
3175 * sed.c, utils.c: some gratuitous formatting changes.
3176
3177 * utils.c: changed datatype of utils_id_s in order to
3178 eliminate arbitrary array size.
3179
3180Sun Jul 13 17:00:26 PDT 1997 Ken Pizzini <[email protected]>
3181
3182 * sed.c, utils.c, utils.h: de-linting oriented cleanup.
3183
3184Sun Jul 13 00:46:48 PDT 1997 Ken Pizzini <[email protected]>
3185
3186 * sed.c: fixed bug which caused SEGV for files missing a
3187 final newline. Corrected calls to regnexec to pass the
3188 proper parameters, in the proper order.
3189
3190Sat Dec 30 20:16:59 1995 Tom Lord <lord@beehive>
3191
3192 *** Version 3.00 released
3193
3194 * sed.c: Use posix entry points to regexp functions.
3195 Fix enough bugs to pass the test-suite.
3196
3197....... Jason Molenda <[email protected]>
3198
3199 * testsuite/: trippy test suite.
3200
3201
3202Wed May 11 07:46:24 1994 Chip Salzenberg ([email protected])
3203
3204 *** Version 2.05 released
3205
3206 * sed.c (compile_address): Recognize numeric addresses.
3207 Fixes typo made during installation of "~" feature.
3208
3209Sat Apr 30 17:17:38 1994 Tom Lord ([email protected])
3210
3211 *** Version 2.04 released
3212
3213 * sed.c: applied a patch from
3214 From: [email protected] (Dietrich Kappe)
3215
3216 Dietrich writes:
3217
3218 As my contribution to the creeping feature creature in sed,
3219 here is a new type of address. The address has form n~m,
3220 which means "the line number is equal to n modulo m." The
3221 modifications to sed are trivial, and the general
3222 usefulness of this address should be obvious. If m is 0 or
3223 missing, 1 is used in its place (could be a bug or a
3224 feature :-).
3225
3226Sat Apr 30 17:17:38 1994 Tom Lord ([email protected])
3227
3228 * rx.c (solve_destination): protect `solution' more carefully.
3229 This is a cleanup of a patch from Kevin Buettner
3230 ([email protected]).
3231
3232Sat Apr 30 17:17:38 1994 Tom Lord ([email protected])
3233
3234 * rx.c: make translation tables unsigned chars
3235
3236 * sed.c (main): Compile accumulated -e commands as
3237 soon as a -f command comes along. This ensures that
3238 the commands are executed in the right order.
3239
3240Mon Oct 25 14:41:47 1993 Tom Lord ([email protected])
3241
3242 * sed.c (execute_program): 'w' flushes the buffer after it
3243 writes -- diagnosed by [email protected]. 'r' and 'w' to
3244 the same file is now supported -- hopefully even in a way that
3245 satisfies Posix (it now behaves differently from some
3246 /bin/sed's and the spec is hard to read so i'm not sure).
3247
3248 Also, 'r' of a non-existent file is now permitted.
3249
3250Mon Oct 11 21:06:10 1993 Tom Lord ([email protected])
3251
3252 * sed.c (execute_program): remember that 'b' and 't' are more
3253 like longjmp than goto. Patch from [email protected] (Tom
3254 R.Hageman)
3255
3256 * rx.c: patch from From: [email protected] (Chip
3257 Salzenberg) to get rid of compiler warnings.
3258
3259
3260Sat Aug 7 01:04:59 1993 Tom Lord ([email protected])
3261
3262 *** Version 2.03 released
3263
3264 * sed.c (compile_regex): report error messages for bogus
3265 regexps.
3266
3267 SEE ALSO: ChangeLog.rx
3268
3269
3270
3271Wed Jul 21 00:28:03 1993 Tom Lord ([email protected])
3272
3273 * alloca.c: upgraded to a more recent version
3274
3275 * rx.c (re_search_2): prefer matches with longer
3276 subexpressions to those with shorter ones, giving precedence
3277 to low numbered subexpressions.
3278
3279 * rx.c (re_compile): don't free `params' if its null.
3280
3281Fri Jul 16 01:12:08 1993 Tom Lord ([email protected])
3282
3283 * rx.[ch], sed.c: rx replaces regex.
3284
3285
3286
3287Thu May 27 11:13:03 1993 Tom Lord ([email protected])
3288
3289 * sed.c (execute_program, match_addr): caught more cases
3290 that need to be sensitive to a missing \n at EOF.
3291
3292Fri May 21 00:39:22 1993 Tom Lord ([email protected])
3293
3294 * sed.c (execute_program): apply gaumondp's patch
3295 to fix '\xabcxs/foo/bar/'.
3296
3297 * sed.c (execute_program):
3298 If a second address is a regexp, never match it on the
3299 same line as the first address.
3300
3301 * sed.c (compile_regexp):
3302 Numeric ranges x,y s.t. y < x are now treated as x,x.
3303 There was a bug in that they were being handled like x,x+1.
3304
3305 * sed.c (execute_program, read_pattern_space,
3306 append_pattern_space) don't add newlines to lines
3307 that don't have them.
3308
3309Wed May 19 13:34:45 1993 Tom Lord ([email protected])
3310
3311 * sed.c (compile_program): grok \\n in comments.
3312
3313Mon May 17 16:34:50 1993 Tom Lord ([email protected])
3314
3315 * alloca.c: new (standard) file
3316
3317 * configure.in: AC_CONSTified
3318
3319 * sed.c (compile_program): properly diagnose the error of
3320 a missing command (e.g. sed /x/). (thanks gaumondp)
3321
3322 * sed.c (compile_regexp): handle character classes correctly.
3323 Thanks [email protected]
3324 and [email protected].
3325
3326Thu May 6 12:37:18 1993 Tom Lord ([email protected])
3327
3328 * sed.c (compile_filename, execute_program): don't use
3329 `access' or `/dev/null'.
3330
3331 * sed.c (execute_program): 'N' at EOF should delete the pat buf.
3332
3333 * sed.c (compile_filename): truncate, don't append files
3334 being openned for `w' or `s///w'
3335
3336 * sed.c (execute_program): -n switch shouldn't effect `i' or `c'.
3337
3338 * sed.c (compile_program): don't compile unescaped newlines
3339 into the substitution string of an `s' command (they are an error).
3340
3341 * sed.c (compile_regex): correctly skip over character
3342 sets that contain `]'.
3343
3344 * sed.c (execute_program): patch from gaumondp
3345 Correctly handle empty-string matches in the case of an `s'
3346 command with a repeat count.
3347
3348 * sed.c (compile_program): patch from [email protected].
3349 Don't consume characters after the label of a `b', `t' or `:' command.
3350
3351 * sed.c (compile_program): unmatched open braces are an error.
3352
3353 * sed.c (compile_file): when consuming an initial comment,
3354 count lines correctly.
3355
3356Wed Nov 18 02:10:58 1992 Tom Lord ([email protected])
3357
3358 * sed.c (execute_program): Made s///p print even if -n was
3359 specified.
3360
3361 * sed.c (compile_string): Changed the type of this function to
3362 fix a compile warning.
3363
3364Wed Nov 4 17:15:34 1992 Tom Lord ([email protected])
3365
3366 * sed.c (main): Initialize the hold area to contain "\n"
3367 instead of "". In execute_program, all lines are expected
3368 to be newline terminated. Also, if H is the first command
3369 in the script, the result is a pattern buffer that begins
3370 with a blank line. Thanks to [email protected]
3371 (Francois Pinard) for pointing out this and many other bugs.
3372
3373 * sed.c (execute_program): Fixed a case of `D' command.
3374 Thanks Chris Weber <[email protected]>
3375
3376 * sed.c: added new tests of no_default_output to make -n work.
3377 Thanks Andrew Herbert <[email protected]>
3378
3379 * sed.c, configure.in,Makefile.in: autoconfed bcopy and const.
3380 Thanks "J.T. Conklin" <[email protected]>
3381
3382 * sed.c: made prog_cur, prog_start, and prog_end unsigned so
3383 that users could write `sed -e s/ÿ/foo/g'.
3384
3385Tue Oct 13 00:04:05 1992 Tom Lord ([email protected])
3386
3387 * sed.c (execute_program): fixed the cycling behavior of 'D'
3388
3389 * sed.c: integrated patch that closes files
3390
3391 * sed.c: changed regexp syntax
3392
3393Fri May 22 15:11:12 1992 Tom Lord (lord at moriarty.bh.andrew.cmu.edu)
3394
3395 * regex.c: this is not my change, but a pointer to the fact
3396 that karl@gnu fixed some regexp bugs that were plaguing sed.
3397
3398Thu Apr 30 13:02:21 1992 Tom Lord (lord at unix3.andrew.cmu.edu)
3399
3400 * sed.c (compile_program, execute_program)
3401 subprograms are now compiled with an explicit continuation ;)
3402 return_v and return_i in struct vector. execute_program
3403 no longer recurses to execute subprograms (case '{') and now
3404 understands a return instruction (case '{').
3405
3406Tue Apr 28 17:13:04 1992 Tom Lord (lord at unix7.andrew.cmu.edu)
3407
3408 * sed.c (compile_address) added \?regexp? syntax for addresses.
3409
3410 * sed.c (main) added {} intervals to the obscure regexp
3411 syntax.
3412
3413 * sed.c (compile_program) after calling compile_address,
3414 normalize numeric addresses (make a2.addr_number > a1.addr_number).
3415 This is necessary because line numbers must match exactly,
3416 but sed does not try to match a2 until after a1 has matched,
3417 yet a1,a2 where a2 <= a1 is defined to be equivelent to
3418 a1,a1+1
3419
3420Sat Feb 29 10:55:54 1992 David J. MacKenzie (djm@nutrimat)
3421
3422 * sed.c (usage): Document long options as starting with `--'.
3423
3424Mon Dec 9 23:56:40 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
3425
3426 * sed.c: Include sys/types.h, for new regex.h.
3427
3428Tue Nov 5 02:16:01 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
3429
3430 * utils.c: Change NO_VFPRINTF to VPRINTF_MISSING, for
3431 compatibility with autoconf.
3432
3433Mon Sep 2 22:02:40 1991 David J. MacKenzie (djm at apple-gunkies)
3434
3435 * sed.c (compile_regex): Treat \ as a normal character when in
3436 a char class.
3437
3438Thu Aug 8 00:15:33 1991 David J. MacKenzie (djm at bleen)
3439
3440 * Version 1.08.
3441
3442 * sed.c (compile_filename): If reading a file fails, read
3443 /dev/null instead. It's what Unix and POSIX do, effectively.
3444
3445 * sed.c (compile_regex): The 'slash' character doesn't
3446 terminate the regex if it's in a character class.
3447
3448 * sed.c (main): If given no args, or bad option, print usage
3449 message.
3450 (usage): New function.
3451
3452 * sed.c (execute_program): Amount written for 'P' command was
3453 wrong. From [email protected] (Stephen Davis).
3454
3455Wed Aug 7 16:51:14 1991 David J. MacKenzie (djm at apple-gunkies)
3456
3457 * sed.c (append_pattern_space): Check for buffer full before
3458 instead of after writing to buffer. Don't need to test for
3459 EOF initially anymore, due to the next change.
3460 (execute_program): For 'n' and 'N' commands, if eof is reached
3461 in input, quit the script like Unix sed does.
3462 Fix memory allocation problems for 'a' and 'r' commands.
3463 (compile_program): Fix off by one error in processing comments.
3464 All of the above are from Tapani Tarvainen, [email protected].
3465
3466 * sed.c (setup_jump): Use isblank instead of testing for ' '
3467 or '\t', for POSIX locales.
3468
3469 * utils.c (ck_strdup): Renamed from strdup.
3470 * sed.c: Change callers.
3471
3472 * sed.c, utils.c: Clean up declarations and includes to get
3473 rid of compiler warnings.
3474
3475 * sed.c (main): Add long-named options. Don't complain if -n
3476 is given twice.
3477
3478Fri Aug 2 12:33:16 1991 David J. MacKenzie (djm at apple-gunkies)
3479
3480 * configure: Support +srcdir arg. Create config.status and
3481 remove it and Makefile if interrupted while creating them.
3482 * Makefile.in: Change DESTDIR to prefix.
3483
3484Mon Jul 15 13:07:39 1991 David J. MacKenzie (djm at wookumz.gnu.ai.mit.edu)
3485
3486 * sed.c (main): Add -V option to print version number.
3487 (USAGE): Mention -V.
3488
3489Mon Jul 8 01:42:22 1991 David J. MacKenzie (djm at geech.gnu.ai.mit.edu)
3490
3491 * sed.c: Define bcopy in terms of memcpy if STDC_HEADERS as
3492 well as if USG.
3493 (compile_filename): Don't glob filename (for 'r' and 'w'
3494 commands). Unix sed doesn't do it and it's not very useful,
3495 since it can only match 0 or 1 files.
3496 (execute_program): Change '\a' to 007 since some compilers
3497 don't recognize \a.
3498 * utils.c: New file; code moved from sed.c.
3499 * Replace Makefile with Makefile.in and configure.
3500 Update README.
3501
3502Tue Mar 26 13:00:48 EST 1991 Jay Fenlason ([email protected])
3503
3504 * sed.c (match_address) Added a trivial cast for portability.
3505
3506Mon Feb 25 13:23:29 EST 1991 Jay Fenlason ([email protected])
3507
3508 * sed.c Changed 's' command to work with latest version of regex()
3509 routines, which mysteriously changed somewhere in there. . .
3510 A one-line patch from David Eckelkamp ([email protected]).
3511
3512 Initialize the fastmap in the hopes that it'll make sed faster.
3513
3514Thu Feb 21 13:42:27 EST 1991 Jay Fenlason ([email protected])
3515
3516 * sed.c Change panic to compile with other __STDC__ compilers.
3517
3518Wed Jan 30 10:46:38 EST 1991 Jay Fenlason ([email protected])
3519
3520 * sed.c Changed version number. Made new release.
3521
3522Tue Nov 27 15:34:51 EST 1990 Jay Fenlason ([email protected])
3523
3524 * sed.c (setup_jump) Don't blow chunks if there isn't a label
3525 after a b or t command.
3526
3527 (main) Don't panic if it a branch command doesn't have
3528 a label to branch to.
3529
3530 (main) Collect all the -e arguments together and parse them
3531 all at once. This way, -e { -e mumble -e } will work.
3532
3533 All these small patches from David Schmidt ([email protected])
3534
3535Tue Sep 11 12:51:37 EDT 1990 Jay Fenlason ([email protected])
3536
3537 * sed.c Changed some function forward declarations to use VOID *
3538 instead of char *
3539
3540Mon Jul 16 11:12:54 EDT 1990 Jay Fenlason ([email protected])
3541
3542 * sed.c (ck_malloc) Use malloc(1) instead of malloc(0) if given
3543 a request for zero bytes.
3544
3545Tue Jun 5 02:05:37 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
3546
3547 * sed.c: Remove excess newlines from calls to panic.
3548 Reformat some comments to fit in 79 columns.
3549 Base whether to use void * on __STDC__, not __GNU__.
3550 (main): Add missing arg when printing usage message.
3551 Print usage if given invalid arg.
3552 (panic) [__STDC__]: Add missing ", ...".
3553 (compile_filename): Print correct error message if glob_filename
3554 returns NULL.
3555
3556Thu Apr 5 21:41:12 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
3557
3558 * sed.c (execute_program, case 'r'): When need to realloc append.text,
3559 multiply append.alloc by 2 instead of adding
3560 cur_cmd->x.cmd_txt.text_len.
3561
3562Tue Mar 6 15:55:35 EST 1990 Jay Fenlason ([email protected])
3563
3564 * sed.c (compile_regex) Allocate 10 bytes extra space needed by
3565 re_compile_pattern.
3566
3567Sun Feb 25 16:32:10 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
3568
3569 * sed.c (execute_program, case 'l'): Print \00 instead of \0.
3570 Print backslash as \\ not \.
3571 Print \xx instead of /xx.
3572
3573Thu Feb 1 14:02:28 EST 1990 hack@wookumz
3574
3575 * sed.c (memchr) Use () inside inner loop so it will work correctly.
3576 A two character patch from Robert A Bruce ([email protected])
3577
3578Wed Sep 27 18:47:39 EDT 1989 [email protected]
3579
3580 * sed.c (compile_regex) New function. When compiling regex,
3581 turn ^ into \` and $ into \' so that they won't match on embedded
3582 newlines. UN*X pattern matching is a crock.
3583 (compile_program, compile_address) call compile_regex.
3584
3585Mon Sep 18 10:15:32 EDT 1989 [email protected]
3586
3587 * sed.c (compile_program): define translate as unsigned char * so
3588 that y command will work on non-ascii characters.
3589
3590 Changed version number to 1.06.
3591
3592Thu Sep 14 15:57:08 EDT 1989 [email protected]
3593
3594 * sed.c (compile_program) Let programs use ; to terminate } as
3595 well as newline.
3596
3597 (read_file) Print an error msg to stderr if it can't open an
3598 input file.
3599
3600Thu Mar 23 18:04:46 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
3601
3602 * Makefile, sed.c: Added new copyright notice.
3603
3604 * Makefile: Make distributions which follow the symlinks.
3605
3606[email protected]
3607
3608 1.05 Fixed error in 'r' (now does things in the right order)
3609
3610 1.04 Fixed s/re/rep/[number]
3611
3612 1.03 Fixes from Mike Haertel for regexps that match the
3613 empty string, and for Ritchie stdio (non-sticky EOF)
3614
3615 1.02 Fixed 't', 'b', ':' to trim leading spaces and tabs
3616 Fixed \\ in replacement of 's' command
3617 Added comments
3618
3619 1.01 Added s/re/rep/[digits]
3620 added #n as first line of script
3621 added filename globbing
3622 added 'l' command
3623 All in the name of POSIX
3624
3625 1.00 Began (thinking about) distributing this file
3626
3627
3628Local Variables:
3629mode: indented-text
3630left-margin: 8
3631version-control: never
3632End:
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette