source: trunk/third/sed/ChangeLog @ 17271

Revision 17271, 48.7 KB checked in by ghudson, 23 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r17270, which included commits to RCS files with non-trunk default branches.
Line 
1------ sed 3.02 ------
2
3        * configure.in: Because of code change in 3.01a, bump the
4          minor revision number for the release (now 3.02).
5
6------ sed 3.01a ------
7
8Sun Jul 26 16:07:55 PDT 1998  Ken Pizzini <ken@gnu.org>
9
10        * sed/compile.c(snarf_char_class):  the POSIX char-class
11          recognition loop forgot to update its concept of "prev"
12          as the loop progressed.
13
14        * testsuite/Makefile.am: The dependency of version.good
15          on [testsuite/]Makefile introduced in the previous
16          release was botched -- it referred to "Makefile"
17          as "$(srcdir)/Makefile, which of course doesn't work
18          if you aren't building in the source tree.
19
20        * djgpp/Makefile.am: add forgotten "config.btm" EXTRA_DIST
21          member.
22
23        * configure.in: update version.
24
25------ sed 3.01 ***RELEASE VERSION*** ------
26
27Tue Jul 21 06:04:42 PDT 1998  Ken Pizzini <ken@gnu.org>
28
29        * configure.in: mark as release version!
30
31        * Makefile.am: add BUGS and THANKS to the EXTRA_DIST target.
32
33        * testsuite/Makefile.am: add dependency of version.good
34          on [testsuite/]Makefile.
35
36Mon Jul 20 12:38:10 PDT 1998  Ken Pizzini <ken@gnu.org>
37
38        * djgpp/config.btm: New file to support the 4DOS alternative
39          to command.com.  (Sumitted by Eli Zaretskii on behalf of
40          an anonymous 4DOS user.)
41
42------ sed 3.01-beta18 ------
43
44Fri Jul 17 00:36:34 PDT 1998  Ken Pizzini <ken@gnu.org>
45
46        * djgpp/config.sed: my "tweak" in beta17 was too
47          hastily considered.  Back it out.
48
49        * configure.in: update to beta18.
50
51------ sed 3.01-beta17 ------
52
53Wed Jul 15 01:02:15 PDT 1998  Ken Pizzini <ken@gnu.org>
54
55        * djgpp/config.sed: tweak/simplify s,,, commands at end.
56
57        * configure.in: update to beta17.
58
591998-07-14  Eli Zaretskii  <eliz@is.elta.co.il>
60
61        * djgpp/config.sed: Edit all the occurences of = in the context of
62          --option=value, including in the help messages, into
63          --option:value, but leave DOS-style d:/foo/bar file names intact.
64
65        * djgpp/config.bat: Use --srcdir:foo instead of --srcdir=foo.
66
67        * testsuite/Makefile.am (help, version): Remove temporary files
68          explicitly, don't use shell wildcards, so it works under DOS 8+3
69          limits.
70
71------ sed 3.01-beta16 ------
72
73Thu Jul  9 13:06:00 PDT 1998 16:51:43 PDT 1998  Ken Pizzini <ken@gnu.org>
74
75        * djgpp/config.sed: tweak the configure script to use :
76          instead of = for --with-foo=bar option parsing, to
77          work around problems with how command.com handles =s.
78
79Wed Jul  8 16:51:43 PDT 1998  Ken Pizzini <ken@gnu.org>
80
81        * djgpp/config.bat: correct inappropriate behavior that I
82          introduced in the beta13 changes (if first argument is
83          a directory, it needs to be handled as the --srcdir).
84
85        * testsuite/version.gin, testsuite/version.good, testsuite/Makefile.am:
86          Add target to automake to automatically update version.good
87          from (new file) version.gin, instead of hand-editing the version
88          number each release.
89
90        * testsuite/Makefile.am: miscellaneous gratuitious tweakage --
91          mainly adding $(RM) commands just because I didn't like
92          leaving the tmp* files from successful runs laying about.
93          Also some editorial comments.
94
95        * configure.in: update to beta16.  Added and commented out
96          experiment with AC_OUTPUT() for testsuite/version.good.
97          Added code to properly handle bare (without =xxx)
98          "--with-regex" option.
99
100------ sed 3.01-beta15 ------
101
102Sun Jul  5 21:02:16 PDT 1998  Ken Pizzini <ken@gnu.org>
103
104        * sed/utils.c(ck_fflush), sed/utils.h, sed/execute.c(output_line):
105          add and use new ck_fflush() function.
106
107Sun Jul  5 15:23:47 PDT 1998  Ken Pizzini <ken@gnu.org>
108
109        * sed/compile.c(bad_prog): add more detail to error
110          messages about -e strings.
111
112Sun Jul  5 14:29:45 PDT 1998  Ken Pizzini <ken@gnu.org>
113
114        * sed/compile.c(mark_subst_opts), sed/execute.c(do_subst):
115          Define better semantics for interaction of the `g' flag
116          with a numeric flag to the s/// command.  It used to
117          be that the `g' command siezed control; now the first
118          (number-1) matches are skipped and then `g' gets control
119          after that.  (It is not clear whether this is a feature
120          sneaking in during late beta, or a bug fix; the changes
121          involved were trivial, so I decided to treat it as a bug
122          fix.)
123
124        * configure.in, testsuite/version.good: update to beta15.
125
126------ sed 3.01-beta14 ------
127
128Sat Jul  4 09:54:45 PDT 1998  Ken Pizzini <ken@gnu.org>
129
130        * sed/basicdefs.h, sed/compile.c, sed/execute.c:
131          per report by "Kaveh R. Ghazi" <ghazi@caip.rutgers.edu>,
132          copied the ISXXX macros from lib/regex.c so that
133          silly machines which require isascii() to be true
134          before the other isXXX() macros are valid will
135          still work.
136
137        * configure.in, testsuite/version.good: update to beta14.
138
139------ sed 3.01-beta13 ------
140
141Thu Jul  2 23:46:13 PDT 1998  Ken Pizzini <ken@gnu.org>
142
143        * configure.in, acconfig.h: set USE_REGEX_GNU_H symbol if we
144          are going to be using lib/regex.c.
145
146        * lib/Makefile.am, lib/regex.h, lib/regex-gnu.h, lib/regex.c:
147          rename lib/regex.h to lib/regex-gnu.h, so that those who
148          choose to use a different regex implementation will not
149          pick-up lib/regex.h when doing "#include <regex.h>".
150       
151        * sed/regex-sed.h, sed/Makefile.am, sed/compile.c, sed/execute.c,
152          sed/sed.c: create sed/regex-sed.h which acts as a switch
153          to choose either lib/regex.h or the user-supplied <regex.h>,
154          depending on the value passed to configure's --with-regex=
155          option.
156
157Thu Jul  2 17:22:31 PDT 1998  Ken Pizzini <ken@gnu.org>
158
159        * configure.in: if an alternative --with-regex= is given,
160          do an AC_CHECK_FUNCS(regnexec regexec) to ensure that
161          at least one of these functions is available.  Also,
162          parallel changes for the default case.
163
164        * sed/execute.c, acconfig.h: retire use of the WITH_REGNEXEC
165          test macro in favor of HAVE_REGNEXEC test macro created
166          by above change.
167
168        * djgpp/config.bat: Play games to handle "install-sh",
169          DOS filename restrictions, GNU makefile default rules,
170          and getting a correct run of "configure" (contributed
171          by Eli Zaretskii <eliz@is.elta.co.il>).
172
173        * djgpp/Makefile.am, testsuite/Makefile.am, testsuite/Makefile.in,
174          Makefile.am, configure.in: Various automake targets
175          (such as distcheck) failed with old configuration.
176          The simplest solution was to just add these .am
177          files.  (The testsuite/Makefile.in was just renamed to
178          testsuite/Makefile.am, then various redundant defines and
179          targets were deleted.)  (Reported by Erick Branderhorst
180          <Erick.Branderhorst@asml.nl>.)
181
182        * testsuite/dc.good, testsuite/dc.inp: per suggestion from
183          Greg Ubben <gsu@romulus.ncsc.mil>, use base 16 output to
184          exercise even more of the dc.sed script.
185
186        * configure.in, testsuite/version.good: update to beta13.
187
188------ sed 3.01-beta12 ------
189
190Sun Jun 28 16:21:02 PDT 1998  Ken Pizzini <ken@gnu.org>
191
192        * doc/sed.texi: Avoid mixing @code and @samp markups together:
193          they look ugly in Info.  Use @url and @email instead of @example.
194          Add indexes.  (Basis of changes contributed by Eli Zaretskii.)
195
196        * djgpp/*, Makefile.am: add support for the DJGPP compiler,
197          contributed by Eli Zaretskii <eliz@is.elta.co.il>.
198
199        * dc.sed, testsuite/Makefile.in, testsuite/dc.inp, testsuite/dc.good:
200          added this remarkable script, written and contributed
201          by Greg Ubben <gsu@romulus.ncsc.mil>, both as a work of
202          art for general admiration, and also for use in regression
203          testing.
204
205        * configure.in, lib/Makefile.am: add --with-regex=regexlib
206          option, which overrides the use of lib/regex.c.
207
208        * configure.in, testsuite/version.good: update to beta12.
209
210------ sed 3.01-beta11 ------
211
212Fri Jun 12 16:41:48 PDT 1998  Ken Pizzini <ken@gnu.org>
213
214        * sed/compile.c: add module-static variables first_script
215          (for #n change below) and pending_text (for a/c/i change
216          below).
217
218        * sed/compile.c(compile_file), sed/compile.c(compile_program):
219          Instead of having #n trigger the -n option in *any file*,
220          have #n trigger the -n option only if they are the first
221          two bytes of the first script or script-file.
222
223        * sed/compile.c(compile_string), sed/compile.c(compile_file):
224          clear the first_script variable at end of these functions.
225
226        * sed/sed.h: tease out the struct text_buf declaration from
227          struct sed_cmd, so that a pointer to such can be passed
228          to new sed/compile.c(read_text) function.
229
230        * sed/compile.c(compile_program), sed/compile.c(read_text):
231          Tease out handling of text to a/c/i commands to new
232          read_text() function.  Handle (via aid of pending_text
233          variable) texts which span more than one script/script-file
234          option.  In particular, restore the ability to have this
235          work:  sed -e '1i\' -e 'foo'
236
237        * sed/compile.c(check_final_program): close off any dangling
238          pending_text allocation.
239
240Thu Jun 11 11:17:46 PDT 1998  Ken Pizzini <ken@gnu.org>
241
242        * sed/execute.c(do_subst): fixed two bugs: s/ */X/g was failing
243          to match the final empty string after the end of the pattern
244          space; and /^foo$/s/o/x/3p was printing, despite the failure
245          to do a substition.
246
247Fri Jun  5 04:40:24 PDT 1998  Ken Pizzini <ken@gnu.org>
248
249        * configure.in: change the AC_ARG_WITH(regnexec, ...)
250          to be the more appropriate AC_ARG_ENABLE(regnexec, ...).
251
252        * configure.in, testsuite/version.good: update to beta11.
253
254------ sed 3.01-beta10 ------
255
256Fri Jun  5 00:54:25 PDT 1998  Ken Pizzini <ken@gnu.org>
257
258        * sed/execute.c: forgot to P_() the prototype and
259          old-style the declaration for bootstrap_memchr()!
260
261Thu Jun  4 18:42:30 PDT 1998  Ken Pizzini <ken@gnu.org>
262
263        * sed/compile.c(snarf_char_class): added code to
264          recognize \n or \<newline> sequence within a
265          char-class as the newline character.
266
267Tue Jun  2 11:56:02 PDT 1998  Ken Pizzini <ken@gnu.org>
268
269        * configure.in: added check for <sys/types.h> and
270          a AC_ARG_WITH(regnexec,...) check, to simplify use
271          of other regex libraries which have regexec() but
272          not regnexec(), with the corresponding loss of
273          functionality (regexps will not work right against
274          input lines which contain NULs).
275
276        * sed/execute.c: add nul_append() function, a #define
277          for a regnexec() -> regexec() macro (conditional on
278          the lack of the WITH_REGNEXEC symbol), and a couple
279          of calls to nul_append() (in match_an_address_p()
280          and do_subst()) to permit the use of the POSIX standard
281          regexec() function call instead of the suggested
282          regnexec() call.
283
284        * sed/compile.c, sed/execute.c, sed/sed.c: check for
285          <sys/types.h> and include it (before "regex.h") if
286          available.  This makes it simpler to use the system's
287          regex library instead of the one in lib/regex.c, should
288          that be desired.
289
290Tue Jun  2 08:41:05 PDT 1998  Ken Pizzini <ken@gnu.org>
291
292        * sed/basicdefs.h: define VCAST macros to allow sed to
293          compile on systems which predate the definition
294          of "void *", and yet still get feedback about
295          stupid programming errors from systems which *do*
296          know about "void *"s.  Also define MALLOC, REALLOC,
297          MEMDUP, and FREE macros to keep under control the
298          degree of code ugliness which would otherwise be
299          introduced in making use of the VCAST macro.
300
301        * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c:
302          pervasively use the new VCAST, MALLOC, REALLOC, MEMDUP,
303          and FREE macros wherever appropriate.
304
305        * sed/utils.c, sed/utils.h: correct type of first arguments
306          to ck_fread() and ck_fwrite() to be [const] VOID *.
307
308        * sed/basicdefs.h, sed/execute.c: protect against
309          the rumored systems which stupidly #define __STDC__ 0.
310
311        * testsuite/help.good, testsuite/Makefile.in: make
312          the ``help'' test insensitive to the spelling of
313          the executable's name.  Also, enhanced `make clean'
314          target.
315
316        * doc/sed.texi, doc/sed.1: correct documentation of `q'
317          command; fix typos.
318
319        * configure, testsuite/version.good: update to beta10.
320
321------ sed 3.01-beta9 ------
322
323Sat May 30 17:28:00 PDT 1998  Ken Pizzini <ken@gnu.org>
324
325        * Makefile.am: make testsuite a normal SUBDIR.
326
327        * configure.in: discontinue using AC_ISC_POSIX --
328          check for -lcposix library instead; added
329          testsuite/Makefile to AC_OUTPUT list.
330
331        * lib/memmove.c(memmove): fixed wrong sense used
332          for HAVE_BCOPY test.
333
334        * sed/execute.c: checked more specifically for a version
335          of gcc which supports __attribute__ (i.e., >= 2.7).
336
337        * testsuite/*: renamed files to fit 14 char limit.
338
339        * testsuite/Makefile, testsuite/Makefile.in: Makefile
340          renamed to Makefile.in and then modified so that
341          "make -j check" from top directory will work.
342
343        * testsuite/subwrite.sed, testsuite/writeout.sed: changed
344          file name of the "w" command to be consistent with the
345          new naming used in testsuite/Makefile.in.
346
347        * doc/sed.1, doc/sed.texi: fixed some typos, formatting
348          glitches, and poor wordings.
349
350Sat May 30 04:02:29 PDT 1998  Ken Pizzini <ken@gnu.org>
351
352        * configure.in: specify that config.h is to be derived
353          from config_h.in in order to avoid the braindead
354          DOS filesystem limitations.
355
356Fri May 29 21:56:30 PDT 1998  Ken Pizzini <ken@gnu.org>
357
358        * sed/compile.c(compile_address), doc/sed.texi: gave
359          a better definition to the meaning of N~0 address
360          forms -- N~M addresses now mean that lines match
361          when there exists a non-negative x such that
362          lineno == N+x*M.
363
364Fri May 29 12:07:38 PDT 1998  Ken Pizzini <ken@gnu.org>
365
366        * sed/compile.c(compile_address),
367          sed/execute.c(match_an_address_p): update semantics of
368          N~M address form: now N is the first line which will
369          match and M is the step between succeeding matches.
370          If N<M this works out to the same as before, but the
371          new behavior for N>=M seems more useful.
372
373        * doc/sed.1, doc/sed.texi: update documentation of N~M
374          address form; added "Other Resources" node to sed.texi;
375          minor formatting changes to some items in sed.1 with
376          an eye to improving clarity.
377
378        * configure.in, testsuite/version.good: update to beta9.
379
380------ sed 3.01-beta8 ------
381
382Sat May 23 20:04:31 HST 1998  Ken Pizzini <ken@gnu.org>
383
384        * sed/compile.c(compile_regex): forgot to make last_re be
385          a *copy* of the buffered text in today's earlier fix.
386
387        * sed/execute.c(read_file_line): EOF check was wrong --
388          it forgot to allow for the possibility that we were
389          appending to the end of the ``line'' (instead of merely
390          reading a fresh line).
391
392Sat May 23 18:07:18 HST 1998  Ken Pizzini <ken@gnu.org>
393
394        * sed/compile.c(compile_regex): don't track compiled version
395          of regex -- the modifiers may change.  Track the regex
396          source instead.  (For "last regex" (aka //) notation.)
397
398        * configure.in, testsuite/version.good: update to beta8.
399
400------ sed 3.01-beta7 ------
401
402Sat May 23 16:07:09 HST 1998  Ken Pizzini <ken@gnu.org>
403
404        * sed/execute.c: #undef'd EXPERIMENTAL_DASH_N_OPTIMIZATION
405          because its code is buggy.
406
407Tue May 19 17:03:52 HST 1998  Ken Pizzini <ken@gnu.org>
408
409        * sed/sed.c: label rx library code as such with #ifdefs
410          (instead of just #if 0).
411
412        * sed/compile.c(compile_program): make incremental
413          improvement to the "Unknown command" error message.
414
415Sat May 16 23:16:26 HST 1998  Ken Pizzini <ken@gnu.org>
416
417        * testsuite/Makefile: simplify: get rid of automatic run
418          against system's sed; don't time by default; allow for
419          alternative comparison command.
420
421        * configure.in, testsuite/version.good: update to beta7.
422
423------ sed 3.01-beta6 ------
424
425Wed May 13 21:44:28 PDT 1998  Ken Pizzini <ken@gnu.org>
426
427        * lib/Makefile.am: fix spelling of libsed_a_LIBADD in
428          libsed_a_DEPENDENCIES.
429
430        * configure.in, testsuite/version.good: update to beta6.
431
432------ sed 3.01-beta5 ------
433
434Wed May 13 14:38:08 PDT 1998  Ken Pizzini <ken@gnu.org>
435
436        * sed/execute.c(do_subst): added not_bol_p variable to track when
437          we have iterated past the beginning of the pattern.
438          [Thanks to Jim Meyering <meyering@ascend.com> for the bug report.]
439
440Wed May 13 13:54:04 PDT 1998  Ken Pizzini <ken@gnu.org>
441
442        * sed/execute.c(bootstrap_memchr): new function.  When
443          bootstrapping we don't know if we are on a 64-bit machine,
444          so lib/memchr.c breaks.  Supply this (slow) implementation
445          just to get us bootstrapped.
446
447        * bootstrap.sh: add a #define BOOTSTRAP symbol; add -I.
448          for emphasis for the compiles in sed/; be explicit
449          about what files we're bothering to compile.
450
451        * configure.in, testsuite/version.good: update version
452          to beta5.
453
454------ sed 3.01-beta4 ------
455
456Wed May 13 06:39:06 PDT 1998  Ken Pizzini <ken@gnu.org>
457
458        * rename writeout.good? to wrtout?.good and subwrite.good? to
459          subwrt?.good to comply with DOS 8+3 file name restrictions.
460          [Eli Zaretskii <eliz@is.elta.co.il> suggested this to
461          simplify DJGPP ports, and it was easy.]
462
463        * testsuite/Makefile: reflect above name changes.
464
465Wed May 12 21:09:32 PDT 1998  Ken Pizzini <ken@gnu.org>
466
467        * sed/sed.c(usage): fix non-portable omission of \n\ at end of
468          lines within long string.
469
470        * sed/sed.c(main): remove spurious argument to fprintf() in the
471          'V'ersion output.
472
473        * sed/execute.c(line_append): embed newline between the two
474          text fragments unconditionally.
475
476        * sed/execute.c(do_subst): change structure assignment to memcpy()
477          (for portability reasons).
478
479        * README.bootstrap: suggest using -w option.
480
481Tue May 12 10:02:37 PDT 1998  Ken Pizzini <ken@gnu.org>
482
483        * configure.in: use AC_REPLACE_FUNCS where appropriate.
484
485        * lib/Makefile.am: updated to reflect AC_REPLACE_FUNCS change in
486          configure.in.
487
488        * lib/memchr.c lib/memcmp.c: revert to standard GNU versions.
489
490        * lib/alloca.c: added this missing file.
491
492        * testsuite/version.good: updated for new version identifier.
493
494------ sed 3.01-beta3 ------
495
496Mon May 11 18:50:56 PDT 1998  Ken Pizzini <ken@gnu.org>
497
498        * sed/Makefile.am: fix INCLUDES to work right with VPATH.
499          [Thanks to Jim Meyering <meyering@ascend.com> for the bug report.]
500
501        * sed/sed.c(usage): make --help output more user-friendly?
502
503        * sed/execute.c(execute_program): fix bug in 'x' command introduced
504          in the alleged portability fix of May 9.
505
506        * configure.in: update version to 3.01-beta3.
507
508        * testsuite/version.good, testsuite/help.good: freshen with
509          latest output.
510
511------ sed 3.01-beta2 ------
512
513Sat May  9 22:35:45 PDT 1998  Ken Pizzini <ken@gnu.org>
514
515        * sed/sed.c: add #include <sys/types.h> in HAVE_MMAP
516          block (needed on some machines).
517
518        * lib/memmove.c: #include <memory.h>, if HAVE_MEMORY_H.
519
520Sat May  9 21:29:00 PDT 1998  Ken Pizzini <ken@gnu.org>
521
522        * configure.in: remove dangling references to rx library;
523          added HEADER and FUNC checks for items used by source in
524          lib/.
525
526        * lib/ansidecl.h, lib/memcopy.h, lib/pagecopy.h, lib/string.h
527          lib/memcpy.c, lib/memmove.c: deletes these files.  There
528          are still pieces of glibc missing to support these, and
529          it isn't worth the headache right now.
530
531        * lib/memmove.c: de novo, simpler version.  Uses bcopy()
532          if available, and slow-but-simple code if not.
533
534        * lib/Makefile.am: remove references to deleted files.
535          Added forgotten reference to memcpy.c.  Re-ordered
536          SOURCE entries to reflect dependencies for systems
537          which lack ranlib.
538
539        * sed/basicdefs.h: updated to reflect above changes to lib/,
540          and experience with non-STDC compilers.
541
542        * lib/regex.c: made regerror() function publicly visible.
543
544        * lib/strerror.c: use old-style function declaration.
545
546        * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c,
547          sed/sed.h, sed/utils.h: ensure that private definitions of
548          some symbols do not cause problems when #include'ing system
549          headers (mainly by re-ordering the #include directives).
550          (This is particularly an issue for bootstrap.sh runs.)
551
552        * sed/execute.c (execute_program): use memcpy() instead of
553          structure assingment ('x' command), for portablility to
554          old compilers.
555
556        * sed/execute.c (slow_getline): use old-style function
557          declaration, with a P_ prototype.
558
559        * sed/sed.c: change the type of the fallback MAP_FAILED
560          definition to work on archaic systems.  (Modern systems
561          should be defining it themselves, so the change from
562          void * shouldn't be a problem.)
563
564        * bootstrap.sh, README.bootstrap: actual testing of bootstrap
565          code revealed that I was too optimistic.  Redesigned and
566          replaced implementation.
567
568        * testsuite/Makefile: ignore errors from reference-implementation
569          seds that aren't up to snuff.
570
571        * testsuite/help.good, testsuite/version.good: update to
572          current version's output.
573
574------ sed 3.01-beta1 ------
575
576Fri May  8 15:08:28 PDT 1998  Ken Pizzini <ken@gnu.org>
577
578        * sed/sed.c (main, usage): once again tweak the --help and
579          --version output to bettery comply with GNU coding standards.
580
581        * testsuite/help.good, testsuite/version.good: update to
582          reflect above change.
583
584        * doc/sed.texi: fix "Invoking" node's spelling to comply
585          with GNU standards.
586
587Fri May  8 11:43:10 PDT 1998  Ken Pizzini <ken@gnu.org>
588
589        * doc/sed.1, doc/Makefile.am: wrote (very basic) man page.
590
591Thu May  7 20:40:21 PDT 1998  Ken Pizzini <ken@gnu.org>
592
593        * lib/Makefile.am, lib/memmove.c, lib/memchr.c, lib/regex.c,
594          lib/memcpy.c, lib/regex.h, lib/memcopy.h, lib/string.h,
595          lib/pagecopy.h, lib/ansidecl.h: grab yet-another-version
596          from gnu.org for baseline and/or edit copyright boilerplate
597          using official lgpl2gpl.sed script.  Take care not to
598          loose regnexec() interface or special conditional-compilation
599          code.
600
601Wed May  6 23:35:12 PDT 1998  Ken Pizzini <ken@gnu.org>
602
603        * lib/regex.c, lib/regex.h: take from grep-2.1 distribution,
604          then trivially added the regnexec() interface.
605
606        * sed/sed.c, sed/compile.c, sed/execute.c: made modifications
607          to work with regex instead of rx.
608
609        * rx/*: deleted directory; the code is just too slow.
610          I think it will be easier to extend regex to fully
611          support POSIX.2 than to tune rx to be reasonable.
612          Even if this supposition is wrong, I'd rather make
613          the 3.01 release with the slightly deficient regex.
614
615        * Makefile.am lib/Makefile.am, sed/Makefile.am: made changes
616          related to the substitution of regex for rx.
617
618        * lib/Makefile.am, sed/Makefile.am: since regex is not a
619          ``compatability'' module, changed name of library to
620          ``libsed.a''.
621
622        * lib/memchr.c, lib/memcpy.c, lib/memmove.c: add conditional
623          compilation code to leave zero-sized .o file if system
624          already supports the implemented function.
625
626        * testsuite/help.good, testsuite/version.good: brought
627          up-to-date (once again).
628
629        * NEWS, ANNOUNCE: changes to reflect this batch of changes.
630
631Wed May  6 18:40:47 PDT 1998  Ken Pizzini <ken@gnu.org>
632
633        * sed/execute.c: discovered awful bug in '}' handling:
634          it could read past the end of vec (because `n' was
635          being decremented below zero)!  Needed to "continue"
636          instead of "break".
637
638Tue May  5 14:34:38 PDT 1998  Ken Pizzini <ken@gnu.org>
639
640        * doc/sed.texi, doc/version.texi: wrote some rudimentary
641          texinfo documentation.
642
643        * ANNOUNCE, NEWS, README, README.rx, Makefile.am:
644          more updates for the upcoming beta-release.
645
646        * sed/compile.c, sed/execute.c, sed/sed.c, sed/utils.c,
647          sed/sed.h, lib/strerror.c: update copyright notice text.
648
649Fri May  1 15:41:37 PDT 1998  Ken Pizzini <ken@gnu.org>
650
651        * sed/execute.c (match_an_address_p, match_address_p): if
652          the second element of an address range is a line number,
653          and that line number is *less than* (or equal to) the
654          current line number, we only match the one line (per
655          POSIX.2, section 4.55.7.1).  [Bug discovered as reported
656          in the seders mailing list FAQ.]
657
658        * AUTHORS, NEWS, acconfig.h, configure.in, doc/Makefile.am,
659          lib/Makefile.am, sed/Makefile.am, lib/README,
660          testsuite/help.good, testsuite/version.good:
661          Updated in anticipation of the 3.01-beta1 release.
662          Reorganized development source tree to make creation
663          of a distribution simpler.  Most notable changes were
664          to the various Makefile.am files and configure.in, but
665          some minor edits (such as deleting or changing #include
666          directives) have been made in many other source files.
667
668        * bootstrap.sh, README.bootstrap: created a mechanism for
669          creating sed on a system which lacks a working sed.
670
671Thu Apr 16 23:52:11 PDT 1998  Ken Pizzini <ken@gnu.org>
672
673        * sed.h, sed.c, execute.c, compile.c: did a spell-check on
674          the comments; fixed several typos.
675
676Thu Apr 16 13:43:01 PDT 1998  Ken Pizzini <ken@gnu.org>
677
678        * execute.c (do_subst): fixed bug where the "replaced" flag
679          was being set to one inappropriately when at least one
680          but fewer than sub->numb matches of the regexp were found.
681          (Thanks to Simon Taylor <staylor@hermes.iaccess.com.au>
682          for the bug report.)
683
684Wed Apr 15 11:35:31 PDT 1998  Ken Pizzini <ken@gnu.org>
685
686        * sed.h, sed.c, compile.c, execute.c: having a concern that
687          a cast was being done inappropriately, and realizing that
688          there is no quick way to locate all casts in a program, I
689          went through and marked all casts with a simple macro.
690          Now it is a simple matter to locate the casts, and it is
691          also a simple matter to turn of casts for a lint session
692          (if it should be desired).
693
694Wed Apr 15 10:29:21 PDT 1998  Ken Pizzini <ken@gnu.org>
695
696        * compile.c, sed.c: redo compile phase so that brace
697          expressions can be spread across multiple files.
698          For example:
699            printf '{' >a; printf 'l;d' >b; printf '}' >c
700            sed -f a -f b -f c foo
701          will now compile (and work), instead of complaining
702          about an unmatched '{'.  The mess created in compile.c
703          allowed a little simplification to the command-line
704          processing of "-e" options in sed.c.
705
706          sed.h: added (opaque) err_info member to struct vector;
707          added comments to the members of struct vector.
708
709Wed Apr 14 23:50:50 PDT 1998  Ken Pizzini <ken@gnu.org>
710
711        * sed.h, sed.c, compile.c, execute.c: added types countT and
712          flagT in order to clarify what various "int"s were doing.
713          Also makes it easy to change the type used for counts
714          (for example, to "unsigned long long") if desired, although
715          there are still some gotchas (such as the printf() format
716          for the '=' command).
717
718Tue Apr 14 17:34:54 PDT 1998  Ken Pizzini <ken@gnu.org>
719
720        * execute.c (execute_program, process_files, count_branches,
721          shrink_program): Added a first attempt at program optimization.
722          We now can quit early if we are running with the "-n"
723          and all of the commands are known to be valid only for
724          lines less than the current line.  Thus the "sed" in
725          "foo | sed -n 1,2p" will print read three lines, printint
726          the first two, and then quit, regardless of how much longer
727          "foo" might run or output.  This optimization does not buy
728          much in most cases (it sometimes even costs a little),
729          but when it does help it can help big.  The code is
730          all conditionally compiled based on the
731          EXPERIMENTAL_DASH_N_OPTIMIZATION symbol being #defined,
732          so it can be easily omitted if it causes problems.
733
734Tue Apr 14 12:25:06 PDT 1998  Ken Pizzini <ken@gnu.org>
735
736        * execute.c (test_dollar_EOF, last_file_with_data_p):
737          test_dollar_EOF() was incorrectly returning a false (0)
738          when there were unprocessed files, none of which had any
739          data (either unopenable or zero-length).  Created
740          last_file_with_data_p() to detect this situation, and
741          modified test_dollar_EOF() to make use of it.
742
743Thu Apr  2 23:02:18 PST 1998  Ken Pizzini <ken@gnu.org>
744
745        * compile.c (match_slash): match_slash() did not handle
746          [.coll.], [=equiv=], and [:class:] sequences within a
747          character class.  Added snarf_char_class() [which is a
748          remote derivative of parse_char_class() from GNU ed-0.2]
749          to deal with the details, and altered match_slash()
750          to make use of it.  Also created the trivial
751          add_then_next() to avoid clutter in snarf_char_class().
752
753Thu Apr  2 20:34:42 PST 1998  Ken Pizzini <ken@gnu.org>
754
755        * execute.c, sed.c, sed.h: There was a severe bug in
756          how the code handled "sed 5n a b" when "a" consists
757          of exactly five lines -- it behaved like "sed 5q a b"!
758
759          Rearranged where files get opened -- large scale
760          changes primarily involving main(), process_files(),
761          and read_pattern_space(), but also touching on several
762          other parts of execute.c.  The read_pattern_space()
763          function became unwieldly and parts were split into
764          open_next_file(), closedown(), read_always_fail(),
765          read_mem_line(), and read_file_line().  The
766          at_end_of_file_p() function became obsolete and was
767          eliminated; test_dollar_EOF_p() was updated.  A few
768          global and module-static variables were elminated, and
769          "struct line" was extended; comments were added to the
770          "struct line" declartation to document some important
771          dependencies in it.
772
773          I undertook the reorganization with dread, but I
774          feel that the new organization is an improvement
775          well beyond just fixing the bug that inspired it.
776
777Thu Apr  2 01:16:25 PST 1998  Ken Pizzini <ken@gnu.org>
778
779        * execute.c (read_file_line, slow_getline): the fread()
780          buffering code gives insufficient feedback to a user
781          running sed with a tty input device, so I created
782          slow_getline() for reading from a tty device.
783          Additionally, EOF detection has been made a little more
784          sensitive to avoid requiring multiple EOFs to be entered
785          from a tty.
786
787        * configure.in: added isatty() check.
788
789Wed Apr  1 11:04:30 PST 1998  Ken Pizzini <ken@gnu.org>
790
791        * configure.in (CPPFLAGS, LDFLAGS, LIBS):
792          Set to appropriate values if large file support needs
793          explicit enabling.  Code fragment taken from a 1997-10-25
794          patch to gawk by Paul Eggert <eggert@twinsun.com>
795
796Thu Aug 14 17:43:27 PDT 1997  Ken Pizzini <ken@gnu.org>
797
798        * utils.c (ck_fclose): modified to ignore NULL parameter.
799
800Thu Aug 14 12:08:45 PDT 1997  Ken Pizzini <ken@gnu.org>
801
802        * execute.c: tweaked execute_program() to eliminate
803          gratuitous "goto" usage.
804
805Thu Aug 14 11:30:04 PDT 1997  Ken Pizzini <ken@gnu.org>
806
807        * compile.c: added case-insensitive modifier ('I') to
808          address and s/// regexps.  The s/// case also accepts
809          the more popular 'i' modifier.  (The address regexp
810          cannot use 'i' as a modifier, as that conflicts with
811          the use of the 'i'nsert command.)
812
813Thu Aug 14 09:29:06 PDT 1997  Ken Pizzini <ken@gnu.org>
814
815        * compile.c: abstracted out match_slash() from the s///, y///,
816          and address-regexp special-case codes.
817
818        * execute.c: made dump_append_queue() use ck_fread() instead
819          of hand-rolled error checking.
820
821Mon Jul 28 10:50:41 PDT 1997  Ken Pizzini <ken@gnu.org>
822
823        * sed.c, sed.h, execute.c: POSIX.2, section 4.55.7, says that
824          a newline must end *every* output line.  But I think that
825          it is useful (when seding a binary file) to omit a trailing
826          newline if the input lacks one.  Thus the addition of
827          POSIXLY_CORRECT behavior.
828
829        * execute.c: however, when seding multiple files my feeling
830          is that it makes sense to have each file but the last
831          behave as-if it ended in a newline.  Modified read_pattern_space()
832          accordingly.
833
834        * utils.c: realized that add1_buffer(), for performance reasons,
835          shouldn't be calling memcpy() (indirectly via add_buffer()),
836          so rewrote it.
837
838Sat Jul 26 23:08:28 PDT 1997  Ken Pizzini <ken@gnu.org>
839
840        * execute.c: attempted to make read_pattern_space more
841          efficient for the the non-mmap() case.
842
843        * utils.c, utils.h, execute.c: new function ck_fread()
844          created and used.
845
846Sat Jul 26 20:22:14 PDT 1997  Ken Pizzini <ken@gnu.org>
847
848        * execute.c, compile.c, sed.c: abstracted the mmap()
849          interface into map_file()/unmap_file() [sed.c], and
850          changed the ad-hoc code in compile_file() [compile.c]
851          and process_file() [execute.c] to make use of the new
852          interface.
853
854Sat Jul 26 19:45:46 PDT 1997  Ken Pizzini <ken@gnu.org>
855
856        * execute.c, compile.c, configure.in: Check to see if mmap()
857          is available; if so make use of it on regular files.
858
859        * compile.c: compile_file() now closes the input file
860          when it is through!
861
862Sun Jul 20 23:57:02 PDT 1997  Ken Pizzini <ken@gnu.org>
863
864        * compile.c: modified parsing to permit whitespace in more
865          places where it makes sense;
866          added backslash escaping to the y/// command, per POSIX.
867
868        * execute.c: Merged append_pattern_space() into read_pattern_space();
869          moved body of 's' command to new function do_subst();
870          moved body of 'l' command to new function do_list();
871          changed output of 'l' command to conform to POSIX.2;
872          made line handling conform to POSIX; added output_line() function;
873          redesigned append-space algorithm; added append_queue structure and
874          the next_append_slot() and dump_append_queue() functions.
875
876        * sed.h: moved the definition of what is now struct subst
877          outside of the definition of struct sed_cmd.
878
879Sat Jul 19 16:29:09 PDT 1997  Ken Pizzini <ken@gnu.org>
880
881        * sed.c, execute.c, sed.h, Makefile.am: Separated out the
882          pieces dealing with executing the program from the top-level
883          parameter parsing and control.
884
885Sat Jul 19 01:16:35 PDT 1997  Ken Pizzini <ken@gnu.org>
886
887        * sed.c, compile.c, sed.h, Makefile.am: separate out the
888        pieces dealing with compiling the program from the pieces
889        dealing with interpreting the result.
890
891        * compile.c: add functions in_nonblank() and in_integer(),
892          and change interface to compile_address() with an eye
893          to making code clearer.
894
895Fri Jul 18 13:35:50 PDT 1997  Ken Pizzini <ken@gnu.org>
896
897        * utils.c: attempt at a quasi-unification of the
898          STDC and traditional C approaches to panic().
899
900        * sed.c: eliminate some gratuitous bit twiddling.
901          (Using flag bits can be a useful technique, but
902          this code is cleaner without them.)
903
904        * sed.c: place mutually exclusive members of struct addr
905          within a union, mainly to document the exclusivity;
906          eliminate unused structure members from struct fp_list;
907          eliminate unnecessary module-global variables;
908          remove some #if 0 code that is too odd to keep;
909          allegedly simplified the 'l' case of execute_program();
910          allegedly simplified inchar();
911          localized some static variables;
912          renamed some variables to better document their purpose;
913          removed some goto-s rendered obsolete by other changes.
914
915Thu Jul 17 15:30:44 PDT 1997  Ken Pizzini <ken@gnu.org>
916
917        * utils.c, utils.h, sed.c: added and made use of
918          ck_free() function.
919
920        * utils.c, utils.h, sed.c: changed all the *_buffer()
921          functions to take/return an incomplete type
922          "struct buffer *" instead of using VOID *.
923
924        * utils.c, utils.h, sed.c: renamed "finish_buffer()"
925          to "free_buffer()", on the premise that the new
926          name better describes the function's purpose.
927
928Wed Jul 16 13:52:14 PDT 1997  Ken Pizzini <ken@gnu.org>
929
930        * utils.c, utils.h, sed.c: added and made use of
931          ck_memdup() function.
932
933        * sed.c: protected a call to add1_buffer() in
934          compile_program() which could have tried to
935          push an EOF if a a/i/c command ended with
936          a '\', EOF sequence.
937
938        * utils.c: added sanity check to add1_buffer() so that
939          EOF will not be added to the buffer.
940
941Wed Jul 16 03:56:26 PDT 1997  Ken Pizzini <ken@gnu.org>
942
943        * configure.in, compat.h, compat.c: added memchr.
944
945        * sed.c: got rid of arbitrary NUM_FPS limit;
946          made global functions and variables "static" where appropriate;
947          make various cosmetic changes, hopefully improving readability;
948          simplified some redundant predicates;
949          simplified some code, but nothing fundamental (yet?).
950
951Wed Jul 16 00:24:54 PDT 1997  Ken Pizzini <ken@gnu.org>
952
953        * alloca.c, getopt.c, getopt.h, getopt1.c: updated from
954          versions in textutils-1.22.
955
956        * Makefile.in, Makefile.am, configure.in: put in automake support.
957
958        * basicdefs.h, compat.h, compat.c [, sed.c, utils.c]: took out
959          some very ugly compatibility #ifdefs and packaged into one
960          place.
961
962        * sed.c, utils.c: some gratuitous formatting changes.
963
964        * utils.c: changed datatype of utils_id_s in order to
965          eliminate arbitrary array size.
966
967Sun Jul 13 17:00:26 PDT 1997  Ken Pizzini <ken@gnu.org>
968
969        * sed.c, utils.c, utils.h: de-linting oriented cleanup.
970
971Sun Jul 13 00:46:48 PDT 1997  Ken Pizzini <ken@gnu.org>
972
973        * sed.c: fixed bug which caused SEGV for files missing a
974          final newline.  Corrected calls to regnexec to pass the
975          proper parameters, in the proper order.
976
977------ sed 3.00 ------
978
979Sat Dec 30 20:16:59 1995  Tom Lord  <lord@beehive>
980
981        * sed.c: Use posix entry points to regexp functions.
982        Fix enough bugs to pass the test-suite.
983
984....... Jason Molenda  <crash@cygnus.com>
985
986        * testsuite/: trippy test suite.
987
988
989------ sed 2.05 ------
990
991Wed May 11 07:46:24 1994  Chip Salzenberg  (chip@fin.uucp)
992
993        * sed.c (compile_address): Recognize numeric addresses.
994        Fixes typo made during installation of "~" feature.
995
996------ sed 2.04 ------
997
998Sat Apr 30 17:17:38 1994  Tom Lord  (lord@x1.cygnus.com)
999        * sed.c: applied a patch from
1000           From: kap1@tao.cpe.uchicago.edu (Dietrich Kappe)
1001
1002           Dietrich writes:
1003
1004           As my contribution to the creeping feature creature in sed,
1005           here is a new type of address. The address has form n~m,
1006           which means "the line number is equal to n modulo m." The
1007           modifications to sed are trivial, and the general
1008           usefulness of this address should be obvious. If m is 0 or
1009           missing, 1 is used in its place (could be a bug or a
1010           feature :-).
1011
1012Sat Apr 30 17:17:38 1994  Tom Lord  (lord@x1.cygnus.com)
1013
1014        * rx.c (solve_destination): protect `solution' more carefully.
1015        This is a cleanup of a patch from Kevin Buettner
1016           (kev@cujo.geg.mot.com).
1017
1018Sat Apr 30 17:17:38 1994  Tom Lord  (lord@x1.cygnus.com)
1019
1020        * rx.c: make translation tables unsigned chars
1021
1022        * sed.c (main): Compile accumulated -e commands as
1023        soon as a -f command comes along.  This ensures that
1024        the commands are executed in the right order.
1025
1026Mon Oct 25 14:41:47 1993  Tom Lord  (lord@rtl.cygnus.com)
1027
1028        * sed.c (execute_program): 'w' flushes the buffer after it
1029        writes -- diagnosed by doug@research.att.com.  'r' and 'w' to
1030        the same file is now supported -- hopefully even in a way that
1031        satisfies Posix (it now behaves differently from some
1032        /bin/sed's and the spec is hard to read so i'm not sure).
1033
1034        Also, 'r' of a non-existent file is now permitted.
1035
1036Mon Oct 11 21:06:10 1993  Tom Lord  (lord@cygnus.com)
1037
1038        * sed.c (execute_program): remember that 'b' and 't' are more
1039        like longjmp than goto.  Patch from tom@basil.icce.rug.nl (Tom
1040        R.Hageman)
1041
1042        * rx.c: patch from From: fin!chip@rutgers.edu (Chip
1043        Salzenberg) to get rid of compiler warnings.
1044
1045
1046------ sed 2.03 ------
1047
1048Sat Aug  7 01:04:59 1993  Tom Lord  (lord@unix7.andrew.cmu.edu)
1049
1050        * sed.c (compile_regex): report error messages for bogus
1051        regexps.
1052
1053        SEE ALSO:  ChangeLog.rx
1054
1055
1056------ no version information ------
1057
1058Wed Jul 21 00:28:03 1993  Tom Lord  (lord@unix8.andrew.cmu.edu)
1059
1060        * alloca.c: upgraded to a more recent version
1061
1062        * rx.c (re_search_2): prefer matches with longer
1063        subexpressions to those with shorter ones, giving precedence
1064        to low numbered subexpressions.
1065
1066        * rx.c (re_compile): don't free `params' if its null.
1067
1068Fri Jul 16 01:12:08 1993  Tom Lord  (lord@unix8.andrew.cmu.edu)
1069
1070        * rx.[ch], sed.c: rx replaces regex.
1071
1072
1073
1074Thu May 27 11:13:03 1993  Tom Lord  (lord@unix3.andrew.cmu.edu)
1075
1076        * sed.c (execute_program, match_addr): caught more cases
1077        that need to be sensitive to a missing \n at EOF.
1078
1079Fri May 21 00:39:22 1993  Tom Lord  (lord@unix8.andrew.cmu.edu)
1080
1081        * sed.c (execute_program): apply gaumondp's patch
1082          to fix '\xabcxs/foo/bar/'.
1083
1084        * sed.c (execute_program):
1085          If a second address is a regexp, never match it on the
1086          same line as the first address.
1087
1088        * sed.c (compile_regexp):
1089          Numeric ranges  x,y s.t. y < x are now treated as x,x.
1090          There was a bug in that they were being handled like x,x+1.
1091
1092        * sed.c (execute_program, read_pattern_space,
1093          append_pattern_space) don't add newlines to lines
1094          that don't have them.
1095
1096Wed May 19 13:34:45 1993  Tom Lord  (lord@unix9.andrew.cmu.edu)
1097
1098        * sed.c (compile_program): grok \\n in comments.
1099
1100Mon May 17 16:34:50 1993  Tom Lord  (lord@unix9.andrew.cmu.edu)
1101
1102        * alloca.c: new (standard) file
1103
1104        * configure.in: AC_CONSTified
1105
1106        * sed.c (compile_program): properly diagnose the error of
1107        a missing command (e.g. sed /x/). (thanks gaumondp)
1108
1109        * sed.c (compile_regexp): handle character classes correctly.
1110        Thanks gaumondp@ERE.UMontreal.CA
1111        and  schwab@issan.informatik.uni-dortmund.de.
1112
1113Thu May  6 12:37:18 1993  Tom Lord  (lord@unix10.andrew.cmu.edu)
1114
1115        * sed.c (compile_filename, execute_program): don't use
1116        `access' or `/dev/null'.
1117
1118        * sed.c (execute_program): 'N' at EOF should delete the pat buf.
1119
1120        * sed.c (compile_filename): truncate, don't append files
1121        being openned for `w' or `s///w'
1122
1123        * sed.c (execute_program): -n switch shouldn't effect `i' or `c'.
1124
1125        * sed.c (compile_program): don't compile unescaped newlines
1126        into the substitution string of an `s' command (they are an error).
1127
1128        * sed.c (compile_regex): correctly skip over character
1129        sets that contain `]'.
1130
1131        * sed.c (execute_program): patch from gaumondp
1132        Correctly handle empty-string matches in the case of an `s'
1133        command with a repeat count.
1134
1135        * sed.c (compile_program): patch from gaumondp@ere.UMontreal.ca.
1136        Don't consume characters after the label of a `b', `t' or `:' command.
1137
1138        * sed.c (compile_program): unmatched open braces are an error.
1139
1140        * sed.c (compile_file): when consuming an initial comment,
1141        count lines correctly.
1142
1143Wed Nov 18 02:10:58 1992  Tom Lord  (lord@unix2.andrew.cmu.edu)
1144
1145        * sed.c (execute_program): Made s///p print even if -n was
1146        specified.
1147
1148        * sed.c (compile_string): Changed the type of this function to
1149        fix a compile warning.
1150
1151Wed Nov  4 17:15:34 1992  Tom Lord  (lord@unix7.andrew.cmu.edu)
1152
1153        * sed.c (main): Initialize the hold area to contain "\n"
1154        instead of "".  In execute_program, all lines are expected
1155        to be newline terminated.  Also, if H is the first command
1156        in the script, the result is a pattern buffer that begins
1157        with a blank line.  Thanks to pinard@iro.umontreal.ca
1158        (Francois Pinard) for pointing out this and many other bugs.
1159
1160        * sed.c (execute_program): Fixed a case of `D' command.
1161          Thanks Chris Weber <weber@bucknell.edu>
1162
1163        * sed.c: added new tests of no_default_output to make -n work.
1164          Thanks Andrew Herbert <andrew@werple.apana.org.au>
1165
1166        * sed.c, configure.in,Makefile.in: autoconfed bcopy and const.
1167          Thanks "J.T. Conklin" <jtc@gain.com>
1168
1169        * sed.c: made prog_cur, prog_start, and prog_end unsigned so
1170        that users could write  `sed -e s/ÿ/foo/g'.
1171
1172Tue Oct 13 00:04:05 1992  Tom Lord  (lord@unix3.andrew.cmu.edu)
1173
1174        * sed.c (execute_program): fixed the cycling behavior of 'D'
1175
1176        * sed.c: integrated patch that closes files
1177
1178        * sed.c: changed regexp syntax
1179
1180Fri May 22 15:11:12 1992  Tom Lord  (lord at moriarty.bh.andrew.cmu.edu)
1181
1182        * regex.c:  this is not my change, but a pointer to the fact
1183        that karl@gnu fixed some regexp bugs that were plaguing sed.
1184
1185Thu Apr 30 13:02:21 1992  Tom Lord  (lord at unix3.andrew.cmu.edu)
1186
1187        * sed.c (compile_program, execute_program)
1188        subprograms are now compiled with an explicit continuation ;)
1189        return_v and return_i in struct vector.  execute_program
1190        no longer recurses to execute subprograms (case '{') and now
1191        understands a return instruction (case '{').
1192
1193Tue Apr 28 17:13:04 1992  Tom Lord  (lord at unix7.andrew.cmu.edu)
1194
1195        * sed.c (compile_address) added \?regexp? syntax for addresses.
1196
1197        * sed.c (main) added {} intervals to the obscure regexp
1198          syntax.
1199
1200        * sed.c (compile_program)  after calling compile_address,
1201          normalize numeric addresses (make a2.addr_number > a1.addr_number).
1202          This is necessary because line numbers must match exactly,
1203          but sed does not try to match a2 until after a1 has matched,
1204          yet a1,a2 where a2 <= a1 is defined to be equivelent to
1205          a1,a1+1
1206
1207Sat Feb 29 10:55:54 1992  David J. MacKenzie  (djm@nutrimat)
1208
1209        * sed.c (usage): Document long options as starting with `--'.
1210
1211Mon Dec  9 23:56:40 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1212
1213        * sed.c: Include sys/types.h, for new regex.h.
1214
1215Tue Nov  5 02:16:01 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1216
1217        * utils.c: Change NO_VFPRINTF to VPRINTF_MISSING, for
1218        compatibility with autoconf.
1219
1220Mon Sep  2 22:02:40 1991  David J. MacKenzie  (djm at apple-gunkies)
1221
1222        * sed.c (compile_regex): Treat \ as a normal character when in
1223        a char class.
1224
1225Thu Aug  8 00:15:33 1991  David J. MacKenzie  (djm at bleen)
1226
1227        * Version 1.08.
1228
1229        * sed.c (compile_filename): If reading a file fails, read
1230        /dev/null instead.  It's what Unix and POSIX do, effectively.
1231
1232        * sed.c (compile_regex): The 'slash' character doesn't
1233        terminate the regex if it's in a character class.
1234
1235        * sed.c (main): If given no args, or bad option, print usage
1236        message.
1237        (usage): New function.
1238
1239        * sed.c (execute_program): Amount written for 'P' command was
1240        wrong.  From stephend@ksr.com (Stephen Davis).
1241
1242Wed Aug  7 16:51:14 1991  David J. MacKenzie  (djm at apple-gunkies)
1243
1244        * sed.c (append_pattern_space): Check for buffer full before
1245        instead of after writing to buffer.  Don't need to test for
1246        EOF initially anymore, due to the next change.
1247        (execute_program): For 'n' and 'N' commands, if eof is reached
1248        in input, quit the script like Unix sed does.
1249        Fix memory allocation problems for 'a' and 'r' commands.
1250        (compile_program): Fix off by one error in processing comments.
1251        All of the above are from Tapani Tarvainen, tarvaine@tukki.jyu.fi.
1252
1253        * sed.c (setup_jump): Use isblank instead of testing for ' '
1254        or '\t', for POSIX locales.
1255
1256        * utils.c (ck_strdup): Renamed from strdup.
1257        * sed.c: Change callers.
1258
1259        * sed.c, utils.c: Clean up declarations and includes to get
1260        rid of compiler warnings.
1261
1262        * sed.c (main): Add long-named options.  Don't complain if -n
1263        is given twice.
1264
1265Fri Aug  2 12:33:16 1991  David J. MacKenzie  (djm at apple-gunkies)
1266
1267        * configure: Support +srcdir arg.  Create config.status and
1268        remove it and Makefile if interrupted while creating them.
1269        * Makefile.in: Change DESTDIR to prefix.
1270
1271Mon Jul 15 13:07:39 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)
1272
1273        * sed.c (main): Add -V option to print version number.
1274        (USAGE): Mention -V.
1275
1276Mon Jul  8 01:42:22 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)
1277
1278        * sed.c: Define bcopy in terms of memcpy if STDC_HEADERS as
1279        well as if USG.
1280        (compile_filename): Don't glob filename (for 'r' and 'w'
1281        commands).  Unix sed doesn't do it and it's not very useful,
1282        since it can only match 0 or 1 files.
1283        (execute_program): Change '\a' to 007 since some compilers
1284        don't recognize \a.
1285        * utils.c: New file; code moved from sed.c.
1286        * Replace Makefile with Makefile.in and configure.
1287        Update README.
1288
1289Tue Mar 26 13:00:48 EST 1991    Jay Fenlason (hack@gnu.ai.mit.edu)
1290
1291        * sed.c (match_address)  Added a trivial cast for portability.
1292
1293Mon Feb 25 13:23:29 EST 1991    Jay Fenlason (hack@ai.mit.edu)
1294
1295        * sed.c  Changed 's' command to work with latest version of regex()
1296        routines, which mysteriously changed somewhere in there. . .
1297        A one-line patch from David Eckelkamp (eckelkamp@mcc.com).
1298
1299        Initialize the fastmap in the hopes that it'll make sed faster.
1300
1301Thu Feb 21 13:42:27 EST 1991    Jay Fenlason (hack@ai.mti.edu)
1302
1303        * sed.c Change panic to compile with other __STDC__ compilers.
1304
1305Wed Jan 30 10:46:38 EST 1991    Jay Fenlason (hack@ai.mit.edu)
1306
1307        * sed.c  Changed version number.  Made new release.
1308
1309Tue Nov 27 15:34:51 EST 1990    Jay Fenlason (hack@ai.mit.edu)
1310
1311        * sed.c (setup_jump)  Don't blow chunks if there isn't a label
1312        after a b or t command.
1313
1314                (main) Don't panic if it a branch command doesn't have
1315        a label to branch to.
1316
1317                (main)  Collect all the -e arguments together and parse them
1318        all at once.  This way, -e { -e mumble -e } will work.
1319
1320        All these small patches from David Schmidt (davids@isc-br.isc-br.com)
1321
1322Tue Sep 11 12:51:37 EDT 1990    Jay Fenlason (hack@ai.mit.edu)
1323
1324        * sed.c Changed some function forward declarations to use VOID *
1325        instead of char *
1326
1327Mon Jul 16 11:12:54 EDT 1990 Jay Fenlason (hack@ai.mit.edu)
1328
1329        * sed.c (ck_malloc)  Use malloc(1) instead of malloc(0) if given
1330        a request for zero bytes.
1331
1332Tue Jun  5 02:05:37 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)
1333
1334        * sed.c: Remove excess newlines from calls to panic.
1335        Reformat some comments to fit in 79 columns.
1336        Base whether to use void * on __STDC__, not __GNU__.
1337        (main): Add missing arg when printing usage message.
1338        Print usage if given invalid arg.
1339        (panic) [__STDC__]: Add missing ", ...".
1340        (compile_filename): Print correct error message if glob_filename
1341        returns NULL.
1342
1343Thu Apr  5 21:41:12 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
1344
1345        * sed.c (execute_program, case 'r'): When need to realloc append.text,
1346        multiply append.alloc by 2 instead of adding
1347        cur_cmd->x.cmd_txt.text_len.
1348
1349Tue Mar  6 15:55:35 EST 1990 Jay Fenlason (hack@ai.mit.edu)
1350
1351        * sed.c (compile_regex)  Allocate 10 bytes extra space needed by
1352        re_compile_pattern.
1353
1354Sun Feb 25 16:32:10 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
1355
1356        * sed.c (execute_program, case 'l'): Print \00 instead of \0.
1357        Print backslash as \\ not \.
1358        Print \xx instead of /xx.
1359
1360Thu Feb  1 14:02:28 EST 1990            hack@wookumz
1361
1362        * sed.c (memchr)  Use () inside inner loop so it will work correctly.
1363        A two character patch from Robert A Bruce (rab@allspice.berkeley.edu)
1364
1365Wed Sep 27 18:47:39 EDT 1989            hack@ai.mit.edu
1366
1367        * sed.c (compile_regex)  New function.  When compiling regex,
1368        turn ^ into \` and $ into \' so that they won't match on embedded
1369        newlines.  UN*X pattern matching is a crock.
1370        (compile_program, compile_address) call compile_regex.
1371
1372Mon Sep 18 10:15:32 EDT 1989            hack@ai.mit.edu
1373
1374        * sed.c (compile_program):  define translate as unsigned char * so
1375        that y command will work on non-ascii characters.
1376
1377        Changed version number to 1.06.
1378
1379Thu Sep 14 15:57:08 EDT 1989            hack@ai.mit.edu
1380
1381        * sed.c  (compile_program)  Let programs use ; to terminate } as
1382        well as newline.
1383
1384        (read_file) Print an error msg to stderr if it can't open an
1385        input file.
1386
1387Thu Mar 23 18:04:46 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
1388
1389        * Makefile, sed.c: Added new copyright notice.
1390
1391        * Makefile: Make distributions which follow the symlinks.
1392
1393hack@ai.mit.edu
1394
1395        1.05    Fixed error in 'r' (now does things in the right order)
1396
1397        1.04    Fixed s/re/rep/[number]
1398
1399        1.03    Fixes from Mike Haertel for regexps that match the
1400                empty string, and for Ritchie stdio (non-sticky EOF)
1401
1402        1.02    Fixed 't', 'b', ':' to trim leading spaces and tabs
1403                Fixed \\ in replacement of 's' command
1404                Added comments
1405
1406        1.01    Added s/re/rep/[digits]
1407                added #n as first line of script
1408                added filename globbing
1409                added 'l' command
1410                All in the name of POSIX
1411
1412        1.00    Began (thinking about) distributing this file
1413
1414Local Variables:
1415mode: indented-text
1416left-margin: 8
1417version-control: never
1418End:
Note: See TracBrowser for help on using the repository browser.