xref: /freebsd-12.1/gnu/usr.bin/grep/ChangeLog (revision 6fdbbb54)
1*6fdbbb54STim J. Robbins2002-03-26  Bernhard Rosenkraenzer <[email protected]>
2*6fdbbb54STim J. Robbins	* src/grep.c: Don't fail if we don't have an stdout fd and -q
3*6fdbbb54STim J. Robbins	  is used (happens e.g. on calls from hotplug scripts)
4*6fdbbb54STim J. Robbins	* src/grep.c: Don't hang forever if fed with an empty string to
5*6fdbbb54STim J. Robbins	  grep for and --color enabled
6*6fdbbb54STim J. Robbins	* src/grep.c: Fix infinite loop on
7*6fdbbb54STim J. Robbins	  echo "1 one" | grep -E "[0-9]*" -o
8*6fdbbb54STim J. Robbins	  echo "1 one" | grep -E "[0-9]*" --color
9*6fdbbb54STim J. Robbins	* po/*: Sync wiith translation project
10*6fdbbb54STim J. Robbins	* src/grep.c, src/Makefile.am, configure.in: Add patch from
11*6fdbbb54STim J. Robbins	  Paul Eggert <[email protected]> to comply with ridiculous
12*6fdbbb54STim J. Robbins	  guidelines (don't act differently if invoked as egrep or fgrep)
13*6fdbbb54STim J. Robbins	* configure.in: Bump version number, require a recent autoconf
14*6fdbbb54STim J. Robbins
15*6fdbbb54STim J. Robbins2002-03-14  Bernhard Rosenkraenzer <[email protected]>
16*6fdbbb54STim J. Robbins	* src/Makefile.am, po/Makefile.in.in: Support DESTDIR properly
17*6fdbbb54STim J. Robbins	* tests/bre.tests: Add fix from
18*6fdbbb54STim J. Robbins	  Peter Breitenlohner <[email protected]>
19*6fdbbb54STim J. Robbins
20*6fdbbb54STim J. Robbins2002-03-13  Bernhard Rosenkraenzer <[email protected]>
21*6fdbbb54STim J. Robbins	* configure.in, m4/regex.m4, m4/malloc.m4, m4/realloc.m4:
22*6fdbbb54STim J. Robbins	  Don't set LIBOBJS directly, autoconf 2.53 doesn't like it
23*6fdbbb54STim J. Robbins	* intl/*: Sync with gettext 0.11
24*6fdbbb54STim J. Robbins	* po/*: Sync with translation project
25*6fdbbb54STim J. Robbins	* configure.in, src/Makefile.am: Don't duplicate code - make
26*6fdbbb54STim J. Robbins	  egrep and fgrep links to grep and set matcher based on
27*6fdbbb54STim J. Robbins	  application name, suggestion from
28*6fdbbb54STim J. Robbins	  Guillaume Cottenceau <[email protected]>
29*6fdbbb54STim J. Robbins	* src/grep.c: (prline) Add fix for -i --color from
30*6fdbbb54STim J. Robbins	  Jim Meyering <[email protected]>
31*6fdbbb54STim J. Robbins	* configure.in: Version 2.5; release
32*6fdbbb54STim J. Robbins
33*6fdbbb54STim J. Robbins2002-01-23  Bernhard Rosenkraenzer <[email protected]>
34*6fdbbb54STim J. Robbins	* configure.in: Version 2.5g
35*6fdbbb54STim J. Robbins	* Makefile.cvs, grep.spec: Add packaging tools
36*6fdbbb54STim J. Robbins	Merge djgpp changes from Andrew Cottrell <[email protected]>:
37*6fdbbb54STim J. Robbins	* src/grep.c: Added conditional compilation for DJGPP
38*6fdbbb54STim J. Robbins	* djgpp: remove directory as it is no longer required with DJGPP 2.03
39*6fdbbb54STim J. Robbins                 (or 2.04 when released)
40*6fdbbb54STim J. Robbins	* README.DOS: Moved djgpp/readme to readme.dos
41*6fdbbb54STim J. Robbins	* PATCHES.AC, PATCHES.AM: delete files - redundant
42*6fdbbb54STim J. Robbins	* configure.in, Makefile.am: remove djgpp directory from list
43*6fdbbb54STim J. Robbins
44*6fdbbb54STim J. Robbins2002-01-22  Bernhard Rosenkraenzer <[email protected]>
45*6fdbbb54STim J. Robbins	* doc/grep.texi, doc/grep.1, NEWS: Document --label
46*6fdbbb54STim J. Robbins	* po/ru.po: Sync with translation project
47*6fdbbb54STim J. Robbins	* po/grep.pot: Sync with source
48*6fdbbb54STim J. Robbins
49*6fdbbb54STim J. Robbins2002-01-18  Bernhard Rosenkraenzer <[email protected]>
50*6fdbbb54STim J. Robbins	* src/grep.c: Add --label, based on patch from Stepan Koltsov
51*6fdbbb54STim J. Robbins
52*6fdbbb54STim J. Robbins2001-11-20  Bernhard Rosenkraenzer <[email protected]>
53*6fdbbb54STim J. Robbins	* autogen.sh: Don't hardcode aclocal dir
54*6fdbbb54STim J. Robbins
55*6fdbbb54STim J. Robbins2001-11-19  Bernhard Rosenkraenzer <[email protected]>
56*6fdbbb54STim J. Robbins	* src/grep.c: Add --only-matching (-o) switch (see NEWS)
57*6fdbbb54STim J. Robbins	* doc/grep.texi, doc/grep.1, NEWS: Document changes
58*6fdbbb54STim J. Robbins	* configure.in, lib/Makefile.am: Don't use internal getopt if
59*6fdbbb54STim J. Robbins          we're on a system that provides a working getopt function
60*6fdbbb54STim J. Robbins
61*6fdbbb54STim J. Robbins2001-09-25  Bernhard Rosenkraenzer <[email protected]>
62*6fdbbb54STim J. Robbins	* configure.in: Detect pcre correctly even when it's in
63*6fdbbb54STim J. Robbins	  non-standard locations, using pcre-config
64*6fdbbb54STim J. Robbins	* src/grep.c: Add --color={always,never,tty} argument (like in ls)
65*6fdbbb54STim J. Robbins	* src/grep.c: Turn off blinking in the default colorization
66*6fdbbb54STim J. Robbins	* src/grep.c: Add --devices (-D) switch (analogous to --directories)
67*6fdbbb54STim J. Robbins	* src/dfa.c: Fix an i18n bug: echo "A" | grep '[A-Z0-9]' wouldn't work
68*6fdbbb54STim J. Robbins	  in non-C-Locales on systems using current versions of glibc.
69*6fdbbb54STim J. Robbins	* AUTHORS: Change maintainer, credit Alain for his work until now
70*6fdbbb54STim J. Robbins	* configure.in, m4/decl.m4, m4/dosfile.m4, m4/gettext.m4,
71*6fdbbb54STim J. Robbins	  m4/init.m4, m4/install.m4, m4/largefile.m4, m4/lcmessage.m4,
72*6fdbbb54STim J. Robbins	  m4/header.m4, m4/isc-posix.m4, m4/missing.m4, m4/progtest.m4,
73*6fdbbb54STim J. Robbins	  m4/sanity.m4:
74*6fdbbb54STim J. Robbins	  Fix build with autoconf 2.5x, retain 2.1x compatibility for now
75*6fdbbb54STim J. Robbins	* autogen.sh: Add some crude hacks to make it possible to build with
76*6fdbbb54STim J. Robbins	  both autoconf 2.5x and 2.1x
77*6fdbbb54STim J. Robbins	* acconfig.h: removed (no longer required)
78*6fdbbb54STim J. Robbins	* Makefile.am: add cvs-clean target
79*6fdbbb54STim J. Robbins	* doc/grep.texi, doc/grep.1, NEWS: Document changes
80*6fdbbb54STim J. Robbins	  (--color, --devices, -D)
81*6fdbbb54STim J. Robbins	* src/dfa.c, src/grep.c: Add vim modelines
82*6fdbbb54STim J. Robbins
83*6fdbbb54STim J. Robbins2001-08-30  Alain Magloire
84*6fdbbb54STim J. Robbins
85*6fdbbb54STim J. Robbins	* configure.in: Add gl in ALL_LINGUAS.
86*6fdbbb54STim J. Robbins
87*6fdbbb54STim J. Robbins2001-08-30  Kurt D Schwehr
88*6fdbbb54STim J. Robbins
89*6fdbbb54STim J. Robbins	* doc/grep.1: Warn that grep insert a "--" between groups of matches,
90*6fdbbb54STim J. Robbins	when using the context options.
91*6fdbbb54STim J. Robbins	* doc/grep.texi: Likewised.
92*6fdbbb54STim J. Robbins
93*6fdbbb54STim J. Robbins2001-08-25  Heikki Korpela
94*6fdbbb54STim J. Robbins
95*6fdbbb54STim J. Robbins	* doc/grep.texi: Point out that some Platforms do not support
96*6fdbbb54STim J. Robbins	reading of directories and silently ignore them.
97*6fdbbb54STim J. Robbins
98*6fdbbb54STim J. Robbins2001-08-21  Alain Magloire
99*6fdbbb54STim J. Robbins
100*6fdbbb54STim J. Robbins	* lib/malloc.c: New file:
101*6fdbbb54STim J. Robbins	* lib/realloc.c: New file:
102*6fdbbb54STim J. Robbins	* lib/Makefile.am: Add malloc.c and realloc.c in EXTRA_DIST.
103*6fdbbb54STim J. Robbins
104*6fdbbb54STim J. Robbins2001-07-31  Alain Magloire
105*6fdbbb54STim J. Robbins
106*6fdbbb54STim J. Robbins	* po/*.po: New files from the translation team:
107*6fdbbb54STim J. Robbins	grep-2.5e.de.po  grep-2.5e.el.po  grep-2.5e.eo.po grep-2.5e.es.po
108*6fdbbb54STim J. Robbins	grep-2.5e.et.po  grep-2.5e.fr.po  grep-2.5e.gl.po grep-2.5e.it.po
109*6fdbbb54STim J. Robbins	grep-2.5e.pl.po  grep-2.5e.sl.po
110*6fdbbb54STim J. Robbins
111*6fdbbb54STim J. Robbins2001-07-31  Andreas Schwab
112*6fdbbb54STim J. Robbins
113*6fdbbb54STim J. Robbins	* src/grep.c: Fix all uses of error to pass a proper format
114*6fdbbb54STim J. Robbins	string.
115*6fdbbb54STim J. Robbins
116*6fdbbb54STim J. Robbins2001-07-29  Alain Magloire
117*6fdbbb54STim J. Robbins
118*6fdbbb54STim J. Robbins	* grep/src/grep.c (usage): Typos corrected.
119*6fdbbb54STim J. Robbins	Patches from Santiago Vila.
120*6fdbbb54STim J. Robbins
121*6fdbbb54STim J. Robbins2001-07-29  Alain Magloire
122*6fdbbb54STim J. Robbins
123*6fdbbb54STim J. Robbins	David Clissold, wrote:
124*6fdbbb54STim J. Robbins	a small bug in the GNU grep 2.4.2, which may have gone unnoticed
125*6fdbbb54STim J. Robbins	because it only causes a failure if building on a system with large
126*6fdbbb54STim J. Robbins	files enabled (e.g. an "off_t" is a "long long" rather than a "long").
127*6fdbbb54STim J. Robbins	savedir() takes on off_t argument, but in grepdir() the parameter
128*6fdbbb54STim J. Robbins	is cast to an (unsigned).  Well, if an off_t is larger than an int,
129*6fdbbb54STim J. Robbins	the value gets truncated.  This would not normally have an effect on a
130*6fdbbb54STim J. Robbins	little-endian platform (unless the file is >2GB), but on a big-endian
131*6fdbbb54STim J. Robbins	system it will always fail.  The external effect is that
132*6fdbbb54STim J. Robbins	"grep -r foo dir_name" fails with ENOMEM (from malloc() within
133*6fdbbb54STim J. Robbins	savedir()).
134*6fdbbb54STim J. Robbins
135*6fdbbb54STim J. Robbins	* grep/src/grep.c (grepdir): Remove the (unsigned) cast when calling
136*6fdbbb54STim J. Robbins	savedir().
137*6fdbbb54STim J. Robbins	Patch from David Clissold.
138*6fdbbb54STim J. Robbins
139*6fdbbb54STim J. Robbins2001-07-29  Alain Magloire
140*6fdbbb54STim J. Robbins
141*6fdbbb54STim J. Robbins	* grep/doc/grep.texi: In Bugs report use {n,m} for consistency.
142*6fdbbb54STim J. Robbins	* grep/doc/grep.1: Likewised.
143*6fdbbb54STim J. Robbins	Noted by Steven Lucy.
144*6fdbbb54STim J. Robbins
145*6fdbbb54STim J. Robbins2001-04-27  Isamu Hasegawa
146*6fdbbb54STim J. Robbins
147*6fdbbb54STim J. Robbins	* dfa.c (mblen_buf) : New variable contains the amount of remain
148*6fdbbb54STim J. Robbins	byte of corresponding multibyte character in the input string.
149*6fdbbb54STim J. Robbins	(SKIP_REMAIN_MB_IF_INITIAL_STATE) : Use mblen_buf.
150*6fdbbb54STim J. Robbins	(match_anychar) : Use mblen_buf.
151*6fdbbb54STim J. Robbins	(match_mb_charset) : Use mblen_buf.
152*6fdbbb54STim J. Robbins	(transit_state_consume_1char) : Use mblen_buf.
153*6fdbbb54STim J. Robbins	(transit_state) : Use inputwcs to get current (multibyte) character.
154*6fdbbb54STim J. Robbins	(dfaexec) : Add initialization of mblen_buf.
155*6fdbbb54STim J. Robbins
156*6fdbbb54STim J. Robbins2001-04-27  Isamu Hasegawa
157*6fdbbb54STim J. Robbins
158*6fdbbb54STim J. Robbins	* dfa.c (addtok) : Set appropriate value to multibyte_prop.
159*6fdbbb54STim J. Robbins	(dfastate) : Add the initialization of the variable.
160*6fdbbb54STim J. Robbins	(dfaexec) : Call transit_state if d->fail may transit by
161*6fdbbb54STim J. Robbins	multibyte characters.
162*6fdbbb54STim J. Robbins	(transit_state_singlebyte) : Clean up unnecessary code.
163*6fdbbb54STim J. Robbins	(transit_state_consume_1char) : Likewise.
164*6fdbbb54STim J. Robbins        (transit_state) : Add checking for word and newline.
165*6fdbbb54STim J. Robbins
166*6fdbbb54STim J. Robbins2001-04-19  Isamu Hasegawa
167*6fdbbb54STim J. Robbins
168*6fdbbb54STim J. Robbins	* search.c (check_multibyte_string) : Check the case when mbclen == 0.
169*6fdbbb54STim J. Robbins
170*6fdbbb54STim J. Robbins2001-04-11  Isamu Hasegawa
171*6fdbbb54STim J. Robbins
172*6fdbbb54STim J. Robbins	* search.c (check_multibyte_string) : Check the head of multibyte
173*6fdbbb54STim J. Robbins	characters, and optimize a bit.
174*6fdbbb54STim J. Robbins	(EGexecute) : Optimize a bit.
175*6fdbbb54STim J. Robbins	(Fexecute) : Fix the index.
176*6fdbbb54STim J. Robbins
177*6fdbbb54STim J. Robbins2001-04-02  Alain Magloire
178*6fdbbb54STim J. Robbins
179*6fdbbb54STim J. Robbins	* lib/regex.c: Update from GNU lib C, with the changes
180*6fdbbb54STim J. Robbins	provided by Paul Eggert.
181*6fdbbb54STim J. Robbins	* lib/posix/regex.h: Likewise.
182*6fdbbb54STim J. Robbins
183*6fdbbb54STim J. Robbins2001-02-17  Paul Eggert
184*6fdbbb54STim J. Robbins
185*6fdbbb54STim J. Robbins	Stop trying to support hosts that have nonstandard declarations for
186*6fdbbb54STim J. Robbins	mbrtowc and/or mbstate_t.  It's not worth the portability hassle.
187*6fdbbb54STim J. Robbins
188*6fdbbb54STim J. Robbins	* lib/quotearg.c (mbrtowc, mbsinit): Remove workaround macros
189*6fdbbb54STim J. Robbins	for hosts that have mbrtowc but not mbstate_t, as we now
190*6fdbbb54STim J. Robbins	insist on proper declarations for both before using mbrtowc.
191*6fdbbb54STim J. Robbins
192*6fdbbb54STim J. Robbins2001-03-18  Alain Magloire
193*6fdbbb54STim J. Robbins
194*6fdbbb54STim J. Robbins	* configure.in: Call AC_MBSTATE_T.
195*6fdbbb54STim J. Robbins	* Makefile.am: Add mbstate_t.m4
196*6fdbbb54STim J. Robbins	* m4/Makefile.am: Add mbstate_t.m4
197*6fdbbb54STim J. Robbins	* m4/mbstate_t.m4: New m4 macro.
198*6fdbbb54STim J. Robbins	* lib/strtol.c: Define CHAR_BITS.
199*6fdbbb54STim J. Robbins	Uwe H. Steinfeld, Ruslan Ermilov, Volkert Bochert, noted
200*6fdbbb54STim J. Robbins	that mbstate_t was not define for certain platforms.
201*6fdbbb54STim J. Robbins
202*6fdbbb54STim J. Robbins2001-03-18  Paul Eggert
203*6fdbbb54STim J. Robbins
204*6fdbbb54STim J. Robbins	* src/grep.c (fillbuf): Fix storage allocation performance
205*6fdbbb54STim J. Robbins	bug: buffer was doubling in size in many cases where it didn't
206*6fdbbb54STim J. Robbins	have to.
207*6fdbbb54STim J. Robbins
208*6fdbbb54STim J. Robbins2001-03-17  Paul Eggert
209*6fdbbb54STim J. Robbins
210*6fdbbb54STim J. Robbins	* src/grep.c (fillbuf): Avoid unnecessary division by 2.
211*6fdbbb54STim J. Robbins	Don't check xrealloc return value; it's guaranteed to be nonzero.
212*6fdbbb54STim J. Robbins	(fillbuf, grepdir): Use xalloc_die rather than error; it's shorter.
213*6fdbbb54STim J. Robbins
214*6fdbbb54STim J. Robbins2001-03-17  Alain Magloire
215*6fdbbb54STim J. Robbins
216*6fdbbb54STim J. Robbins	* src/grep.c (context_length_arg): error () passing wrong format.
217*6fdbbb54STim J. Robbins	Spotted by Jim Meyering.
218*6fdbbb54STim J. Robbins
219*6fdbbb54STim J. Robbins2001-03-07  Alain Magloire
220*6fdbbb54STim J. Robbins
221*6fdbbb54STim J. Robbins	* README-alpha: Removed reference to GNU tar, add the location
222*6fdbbb54STim J. Robbins	of the CVSROOT.
223*6fdbbb54STim J. Robbins
224*6fdbbb54STim J. Robbins2001-03-06  Alain Magloire
225*6fdbbb54STim J. Robbins
226*6fdbbb54STim J. Robbins	Only the Regex patterns should be split in an array, patterns[].
227*6fdbbb54STim J. Robbins	The dfa and KWset compiled patterns should remain global and the
228*6fdbbb54STim J. Robbins	patterns compiled all at once.
229*6fdbbb54STim J. Robbins
230*6fdbbb54STim J. Robbins	* src/search.c: include "error.h" and "xalloc.h" to get prototyping
231*6fdbbb54STim J. Robbins	of x*alloc() and error().
232*6fdbbb54STim J. Robbins	(kwsinit): Reverse to previous behaviour and takes no argument.
233*6fdbbb54STim J. Robbins	(kwsmusts): Likewised.
234*6fdbbb54STim J. Robbins	(Gcompile): For the regex pattern, split them and each pattern
235*6fdbbb54STim J. Robbins	is put in different compiled structure patterns[]. The patterns
236*6fdbbb54STim J. Robbins	are given to dfacomp() and kwsmusts() as is.
237*6fdbbb54STim J. Robbins	(Ecompile): Likewised.
238*6fdbbb54STim J. Robbins	(Fcompile): Reverse to the old behaviour of compiling the enire
239*6fdbbb54STim J. Robbins	patterns in one shot.
240*6fdbbb54STim J. Robbins	(EGexecute): If falling to GNU regex for the matching, loop in the
241*6fdbbb54STim J. Robbins	array of compile patterns[] to find a match.
242*6fdbbb54STim J. Robbins	(error): Many error () were call with arguments in the wrong order.
243*6fdbbb54STim J. Robbins	* tests/file.sh: Simple test to check for pattern in files.
244*6fdbbb54STim J. Robbins
245*6fdbbb54STim J. Robbins	Reaction to bug report fired by Greg Louis <[email protected]>
246*6fdbbb54STim J. Robbins
247*6fdbbb54STim J. Robbins2001-03-06  Isamu Hasegawa
248*6fdbbb54STim J. Robbins
249*6fdbbb54STim J. Robbins	In multibyte environments, handle multibyte characters as single
250*6fdbbb54STim J. Robbins	characters in bracket expressions.
251*6fdbbb54STim J. Robbins
252*6fdbbb54STim J. Robbins	* src/dfa.h (mb_char_classes) : new structure.
253*6fdbbb54STim J. Robbins	(mbcsets): new variable.
254*6fdbbb54STim J. Robbins	(nmbcsets): new variable.
255*6fdbbb54STim J. Robbins	(mbcsets_alloc) : new variable.
256*6fdbbb54STim J. Robbins	* src/dfa.c (prtok) : handle MBCSET.
257*6fdbbb54STim J. Robbins	(fetch_wc): new function to fetch a wide character.
258*6fdbbb54STim J. Robbins	(parse_bracket_exp_mb) : new function to handle multibyte character
259*6fdbbb54STim J. Robbins	in lex().
260*6fdbbb54STim J. Robbins	(lex): invoke parse_bracket_exp_mb() for multibyte bracket expression.
261*6fdbbb54STim J. Robbins	(atom): handle MBCSET.
262*6fdbbb54STim J. Robbins	(epsclosure): likewise.
263*6fdbbb54STim J. Robbins	(dfaanalyze): likewise.
264*6fdbbb54STim J. Robbins	(dfastate): likewise.
265*6fdbbb54STim J. Robbins	(match_mb_charset): new function to judge whether a bracket match
266*6fdbbb54STim J. Robbins	with a multibyte character.
267*6fdbbb54STim J. Robbins	(check_matching_with_multibyte_ops) : handle MBCSET.
268*6fdbbb54STim J. Robbins	(dfainit): initialize new variables.
269*6fdbbb54STim J. Robbins	(dfafree): free new variables.
270*6fdbbb54STim J. Robbins
271*6fdbbb54STim J. Robbins2001-03-04  Alain Magloire
272*6fdbbb54STim J. Robbins
273*6fdbbb54STim J. Robbins	To get more in sync with other GNU utilities like GNU tar and fetish
274*6fdbbb54STim J. Robbins	all the supporting functions are now under lib.
275*6fdbbb54STim J. Robbins	Thanks to Jim Meyering, Volkert Bochert and Paul Eggert for
276*6fdbbb54STim J. Robbins	the code and the reminders.
277*6fdbbb54STim J. Robbins
278*6fdbbb54STim J. Robbins	* src/grep.c (fatal): Function removed, using error () from
279*6fdbbb54STim J. Robbins	lib/error.c instead.
280*6fdbbb54STim J. Robbins	(usage): Copyright updated.
281*6fdbbb54STim J. Robbins	(error): Function removed, using error () from lib/error.c instead,
282*6fdbbb54STim J. Robbins	adjust prototypes.
283*6fdbbb54STim J. Robbins	(prog): Global variable rename to program_name, to work with new
284*6fdbbb54STim J. Robbins	lib/error.c.
285*6fdbbb54STim J. Robbins	(xrealloc): Removed using lib/xmalloc.c.
286*6fdbbb54STim J. Robbins	(xmalloc): Removed using lib/xmalloc.c
287*6fdbbb54STim J. Robbins	(main): Register with atexit() to check for error on stdout.
288*6fdbbb54STim J. Robbins	* configure.in: Check for atexit(), call jm_MALLOC, jm_RELLOC and
289*6fdbbb54STim J. Robbins	jm_PREREQ_ERROR.
290*6fdbbb54STim J. Robbins	* tests/bre.awk: Removed the hack to drain the buffer since we
291*6fdbbb54STim J. Robbins	always fclose(stdout) atexit.
292*6fdbbb54STim J. Robbins	* tests/ere.awk: Likewise.
293*6fdbbb54STim J. Robbins	* tests/spencer1.awk: Likewise.
294*6fdbbb54STim J. Robbins	* bootstrap/Makefile.try: Update the Makefile to reflect the changes
295*6fdbbb54STim J. Robbins	in the new hierarchy.
296*6fdbbb54STim J. Robbins
297*6fdbbb54STim J. Robbins	* README-alpha: New File.
298*6fdbbb54STim J. Robbins	* m4/realloc.m4: New File.
299*6fdbbb54STim J. Robbins	* m4/malloc.m4: New File.
300*6fdbbb54STim J. Robbins	* m4/error.m4: New File.
301*6fdbbb54STim J. Robbins	* m4/Makefile.am: Updated.
302*6fdbbb54STim J. Robbins	* lib: New directory.
303*6fdbbb54STim J. Robbins	* lib/Makefile.am: New file.
304*6fdbbb54STim J. Robbins	* lib/closeout.c: New file.
305*6fdbbb54STim J. Robbins	* lib/closeout.h: New file.
306*6fdbbb54STim J. Robbins	* lib/fnmatch.c: New file.
307*6fdbbb54STim J. Robbins	* lib/fnmatch.h: New file.
308*6fdbbb54STim J. Robbins	* lib/atexit.c: New file.
309*6fdbbb54STim J. Robbins	* lib/error.c: New file.
310*6fdbbb54STim J. Robbins	* lib/error.h: New file.
311*6fdbbb54STim J. Robbins	* lib/quotearg.h: New file.
312*6fdbbb54STim J. Robbins	* lib/quotearg.c: New file.
313*6fdbbb54STim J. Robbins	* lib/xmalloc.c: New file.
314*6fdbbb54STim J. Robbins	* lib/posix: New directory.
315*6fdbbb54STim J. Robbins	* lib/posix/Makefile.am: New file.
316*6fdbbb54STim J. Robbins	* src/getopt.c: Moved to lib.
317*6fdbbb54STim J. Robbins	* src/getopt1.c: Moved to lib.
318*6fdbbb54STim J. Robbins	* src/getopt.h: Moved to lib.
319*6fdbbb54STim J. Robbins	* src/alloca.c: Moved to lib.
320*6fdbbb54STim J. Robbins	* src/exclude.c: Moved to lib.
321*6fdbbb54STim J. Robbins	* src/exclude.h: Moved to lib.
322*6fdbbb54STim J. Robbins	* src/hard-locale.h: Moved to lib.
323*6fdbbb54STim J. Robbins	* src/hard-locale.c: Moved to lib.
324*6fdbbb54STim J. Robbins	* src/isdir.c: Moved to lib.
325*6fdbbb54STim J. Robbins	* src/mechr.c: Moved to lib.
326*6fdbbb54STim J. Robbins	* src/obstack.c: Moved to lib.
327*6fdbbb54STim J. Robbins	* src/obstack.h: Moved to lib.
328*6fdbbb54STim J. Robbins	* src/regex.c: Moved to lib.
329*6fdbbb54STim J. Robbins	* src/regex.h: Moved to lib.
330*6fdbbb54STim J. Robbins	* src/posix: Moved to lib.
331*6fdbbb54STim J. Robbins	* src/posix/regex.h: Moved to lib.
332*6fdbbb54STim J. Robbins	* src/savedir.h: Moved to lib.
333*6fdbbb54STim J. Robbins	* src/savedir.c: Moved to lib.
334*6fdbbb54STim J. Robbins	* src/stpcpy.c: Moved to lib.
335*6fdbbb54STim J. Robbins	* src/strtoul.c: Moved to lib.
336*6fdbbb54STim J. Robbins	* src/strtol.c: Moved to lib.
337*6fdbbb54STim J. Robbins	* src/strtoull.c: Moved to lib.
338*6fdbbb54STim J. Robbins	* src/strtoumax.c: Moved to lib.
339*6fdbbb54STim J. Robbins	* src/xstrtol.c: Moved to lib.
340*6fdbbb54STim J. Robbins	* src/xstrtol.h: Moved to lib.
341*6fdbbb54STim J. Robbins	* src/xstrtoumax.c: Moved to lib.
342*6fdbbb54STim J. Robbins
343*6fdbbb54STim J. Robbins2001-03-01  Isamu Hasegawa
344*6fdbbb54STim J. Robbins
345*6fdbbb54STim J. Robbins	Implement the mechanism to match with multibyte characters,
346*6fdbbb54STim J. Robbins	and use it for `period' in multibyte environments.
347*6fdbbb54STim J. Robbins
348*6fdbbb54STim J. Robbins	* dfa.h (mbps): new variable.
349*6fdbbb54STim J. Robbins	* dfa.c (prtok): handle ANYCHAR.
350*6fdbbb54STim J. Robbins	(lex): use ANYCHAR for `period' in multibyte environments.
351*6fdbbb54STim J. Robbins	(atom): handle ANYCHAR.
352*6fdbbb54STim J. Robbins	(state_index): initialize mbps in multibyte environments.
353*6fdbbb54STim J. Robbins	(epsclosure): handle ANYCHAR.
354*6fdbbb54STim J. Robbins	(dfaanalyze): handle ANYCHAR.
355*6fdbbb54STim J. Robbins	(dfastate): handle ANYCHAR.
356*6fdbbb54STim J. Robbins	(realloc_trans_if_necessary): new function.
357*6fdbbb54STim J. Robbins	(transit_state_singlebyte): new function.
358*6fdbbb54STim J. Robbins	(match_anychar): new function.
359*6fdbbb54STim J. Robbins	(check_matching_with_multibyte_ops): new function.
360*6fdbbb54STim J. Robbins	(transit_state_consume_1char): new function.
361*6fdbbb54STim J. Robbins	(transit_state): new function.
362*6fdbbb54STim J. Robbins	(dfaexec): invoke transit_state if expression can match with
363*6fdbbb54STim J. Robbins	a multibyte character in multibyte environments.
364*6fdbbb54STim J. Robbins	(dfamust): handle ANYCHAR.
365*6fdbbb54STim J. Robbins
366*6fdbbb54STim J. Robbins2001-03-01  Alain Magloire
367*6fdbbb54STim J. Robbins
368*6fdbbb54STim J. Robbins	* src/exclude.c: New file.
369*6fdbbb54STim J. Robbins	* src/exclude.h: New file.
370*6fdbbb54STim J. Robbins	* src/grep.c (main): Took the GNU tar code to handle
371*6fdbbb54STim J. Robbins	the option --include, --exclude, --exclude-from.
372*6fdbbb54STim J. Robbins	Files are check for a match, with exlude_filename ().
373*6fdbbb54STim J. Robbins	New option --exclude-from.
374*6fdbbb54STim J. Robbins	* src/savedir.c: Call exclude_filename() to check for
375*6fdbbb54STim J. Robbins	file pattern exclusion or inclusion.
376*6fdbbb54STim J. Robbins	* configure.in: --disable-pcre rename to --disable-perl-regexp.
377*6fdbbb54STim J. Robbins
378*6fdbbb54STim J. Robbins
379*6fdbbb54STim J. Robbins2001-02-25  Alain Magloire
380*6fdbbb54STim J. Robbins
381*6fdbbb54STim J. Robbins	* src/dfa.c: Typo corrected.
382*6fdbbb54STim J. Robbins	Noted by Isamu Hasegawa.
383*6fdbbb54STim J. Robbins	* src/savedir.c: Typos corrected.
384*6fdbbb54STim J. Robbins
385*6fdbbb54STim J. Robbins2001-02-22  Alain Magloire
386*6fdbbb54STim J. Robbins
387*6fdbbb54STim J. Robbins	* src/savedir.c (isdir1): New function, calling isdir with
388*6fdbbb54STim J. Robbins	the correct pathname.
389*6fdbbb54STim J. Robbins
390*6fdbbb54STim J. Robbins2001-02-19  Isamu Hasegawa
391*6fdbbb54STim J. Robbins
392*6fdbbb54STim J. Robbins	Avoid incorrect state transition in multibyte environments.
393*6fdbbb54STim J. Robbins
394*6fdbbb54STim J. Robbins	* dfa.h (nmultibyte_prop): new variable.
395*6fdbbb54STim J. Robbins	(multibyte_prop): new variable.
396*6fdbbb54STim J. Robbins	* dfa.c (addtok): set inputwcs.
397*6fdbbb54STim J. Robbins	(dfastate): avoid incorrect state transition in multibyte
398*6fdbbb54STim J. Robbins	environments.
399*6fdbbb54STim J. Robbins	(dfaexec): likewise.
400*6fdbbb54STim J. Robbins	(dfainit): init multibyte_prop.
401*6fdbbb54STim J. Robbins	(dfafree): free multibyte_prop.
402*6fdbbb54STim J. Robbins	(inputwcs): new variable.
403*6fdbbb54STim J. Robbins
404*6fdbbb54STim J. Robbins2001-02-19  Isamu Hasegawa
405*6fdbbb54STim J. Robbins
406*6fdbbb54STim J. Robbins	Handle a multibyte character followed by '*', '+', and '{n,m}'
407*6fdbbb54STim J. Robbins	correctly.
408*6fdbbb54STim J. Robbins
409*6fdbbb54STim J. Robbins	* dfa.c (update_mb_len_index): new function.
410*6fdbbb54STim J. Robbins	Support for multibyte string.
411*6fdbbb54STim J. Robbins	(FETCH): call update_mb_len_index.
412*6fdbbb54STim J. Robbins	(lex): check cur_mb_index not to misunderstand multibyte characters.
413*6fdbbb54STim J. Robbins	(atom): make a tree from a multibyte character.
414*6fdbbb54STim J. Robbins	(dfaparse): initialize new variables.
415*6fdbbb54STim J. Robbins	(mbs): new variable.
416*6fdbbb54STim J. Robbins	(cur_mb_len): new variable.
417*6fdbbb54STim J. Robbins	(cur_mb_index): new variable.
418*6fdbbb54STim J. Robbins
419*6fdbbb54STim J. Robbins2001-02-18  Jim Meyering
420*6fdbbb54STim J. Robbins
421*6fdbbb54STim J. Robbins	* m4/dosfile.m4 (AC_DOSFILE): Move AC_DEFINEs out of AC_CACHE_CHECK.
422*6fdbbb54STim J. Robbins
423*6fdbbb54STim J. Robbins2001-02-17  Alain Malgoire
424*6fdbbb54STim J. Robbins
425*6fdbbb54STim J. Robbins	* doc/grep.texi: Document the new options and the new behaviour
426*6fdbbb54STim J. Robbins	back-references are local.  Use excerpt from Karl Berry regex
427*6fdbbb54STim J. Robbins	texinfo.
428*6fdbbb54STim J. Robbins
429*6fdbbb54STim J. Robbins	* bootstrap/Makefile.try: Added xstrtoumax.o xstrtoul.o hard-local.o
430*6fdbbb54STim J. Robbins
431*6fdbbb54STim J. Robbins2001-02-17  Alain Magloire
432*6fdbbb54STim J. Robbins
433*6fdbbb54STim J. Robbins	From Guglielmo 'bond' Bondioni :
434*6fdbbb54STim J. Robbins	The bug was that using a multi line file that contained REs (one per
435*6fdbbb54STim J. Robbins	line), backreferences in the REs were considered global (to the file)
436*6fdbbb54STim J. Robbins	and not local (to the line).
437*6fdbbb54STim J. Robbins	That is, \1 in line n refers to the first \(.\) in the whole file,
438*6fdbbb54STim J. Robbins	rather than in the line itself.
439*6fdbbb54STim J. Robbins
440*6fdbbb54STim J. Robbins	From Tapani Tarvainen :
441*6fdbbb54STim J. Robbins	# Re: grep -e '\(a\)\1' -e '\(b\)\1'
442*6fdbbb54STim J. Robbins	That's not the way it should work: multiple -e arguments
443*6fdbbb54STim J. Robbins	should be treated as independent patterns and back references
444*6fdbbb54STim J. Robbins	should not refer to previous ones.
445*6fdbbb54STim J. Robbins
446*6fdbbb54STim J. Robbins	From Paul Eggert :
447*6fdbbb54STim J. Robbins	GNU grep currently does not issue
448*6fdbbb54STim J. Robbins	diagnostics for the following two cases, both of which are erroneous:
449*6fdbbb54STim J. Robbins	grep -e '[' -e ']'
450*6fdbbb54STim J. Robbins	grep '[
451*6fdbbb54STim J. Robbins	]'
452*6fdbbb54STim J. Robbins	POSIX requires a diagnostic in both cases because '[' is not a valid
453*6fdbbb54STim J. Robbins	regular expression.
454*6fdbbb54STim J. Robbins
455*6fdbbb54STim J. Robbins	To overcome those problems, grep no longer pass the concatenate
456*6fdbbb54STim J. Robbins	patterns to GNU regex but rather compile each patterns separately
457*6fdbbb54STim J. Robbins	and keep the result in an array.
458*6fdbbb54STim J. Robbins
459*6fdbbb54STim J. Robbins	* src/search.c (patterns): New global variable; a structure array
460*6fdbbb54STim J. Robbins	holding the compiled patterns.
461*6fdbbb54STim J. Robbins	Declare function prototypes to minimize error.
462*6fdbbb54STim J. Robbins	(dfa, kswset, regexbuf, regs): Removed, no longer static globals, but
463*6fdbbb54STim J. Robbins	rather fields in patterns[] structure per motif.
464*6fdbbb54STim J. Robbins	(Fcompile): Alloc an entry in patterns[] to hold the regex.
465*6fdbbb54STim J. Robbins	(Ecompile): Alloc an entry per motif in the patterns[] array.
466*6fdbbb54STim J. Robbins	(Gcompile): Likewise.
467*6fdbbb54STim J. Robbins	(EGexecute): Loop through of array of patterns[] for a match.
468*6fdbbb54STim J. Robbins
469*6fdbbb54STim J. Robbins2001-02-17  Alain Magloire
470*6fdbbb54STim J. Robbins
471*6fdbbb54STim J. Robbins	From Bernd Strieder :
472*6fdbbb54STim J. Robbins	# tail -f logfile | grep important | do_something_urgent
473*6fdbbb54STim J. Robbins	# tail -f logfile | grep important | do_something_taking_very_long
474*6fdbbb54STim J. Robbins	If grep does full buffering in these cases then the urgent operation
475*6fdbbb54STim J. Robbins	does not happen as it should in the first case, and in the second case
476*6fdbbb54STim J. Robbins	time is lost due to waiting for the buffer to be filled.
477*6fdbbb54STim J. Robbins	This is clearly spoken not grep's fault in the first place, but libc's.
478*6fdbbb54STim J. Robbins	There is a heuristic in libc that make a stream line-buffered only if a
479*6fdbbb54STim J. Robbins	terminal is on the other end. This doesn't take care of the cases where
480*6fdbbb54STim J. Robbins	this connection is somehow indirect.
481*6fdbbb54STim J. Robbins
482*6fdbbb54STim J. Robbins	* src/grep.c (line_buffered): new option variable.
483*6fdbbb54STim J. Robbins	(prline): if line_buffered is set fflush() is call.
484*6fdbbb54STim J. Robbins	(usage): line_buffered new option.
485*6fdbbb54STim J. Robbins	Input from Paul Eggert, doing setvbuf() may not be portable
486*6fdbbb54STim J. Robbins	and breaks grep -z.
487*6fdbbb54STim J. Robbins
488*6fdbbb54STim J. Robbins2001-02-16  Alain Magloire
489*6fdbbb54STim J. Robbins
490*6fdbbb54STim J. Robbins	Patch from Isamu Hasegawa, for multibyte support.
491*6fdbbb54STim J. Robbins	This patch prevent kwset_matcher from following problems.
492*6fdbbb54STim J. Robbins	For example, in SJIS encoding, one character has the codepoint 0x895c.
493*6fdbbb54STim J. Robbins	So the second byte of the character can match with '\' incorrectly.
494*6fdbbb54STim J. Robbins	And in eucJP encoding, there are the characters whose codepoints are
495*6fdbbb54STim J. Robbins	0xa5b9, 0xa5c8.  On the other hand, there is one character whose
496*6fdbbb54STim J. Robbins	codepoint is 0xb9a5.  So 0xb9a5 can match with 2nd byte of 0xa5b9
497*6fdbbb54STim J. Robbins	and 1st byte of 0xa5c8.
498*6fdbbb54STim J. Robbins
499*6fdbbb54STim J. Robbins	* configure.in: Add check for mbrtowc.
500*6fdbbb54STim J. Robbins	* src/search.c (check_multibyte_string): new function.
501*6fdbbb54STim J. Robbins	Support for multibyte string.
502*6fdbbb54STim J. Robbins	(EGexecute): call check_multibyte_string when kwset is set.
503*6fdbbb54STim J. Robbins	(Fexecute): call to check_multibyte_string.
504*6fdbbb54STim J. Robbins	(MBS_SUPPORT): new macro.
505*6fdbbb54STim J. Robbins	(MB_CUR_MAX): new macro.
506*6fdbbb54STim J. Robbins
507*6fdbbb54STim J. Robbins2001-02-16  Alain Magloire
508*6fdbbb54STim J. Robbins
509*6fdbbb54STim J. Robbins	* djgpp/config.bat: Fix for 4dos.com.
510*6fdbbb54STim J. Robbins	* m4/dosfile.m4 (HAVE_DOS_FILE_CONTENTS): Was not set.
511*6fdbbb54STim J. Robbins	Bugs noted and patched by Juan Manuel Guerrero.
512*6fdbbb54STim J. Robbins
513*6fdbbb54STim J. Robbins2001-02-16  Alain Magloire
514*6fdbbb54STim J. Robbins
515*6fdbbb54STim J. Robbins	A much requested feature, the possibility to select
516*6fdbbb54STim J. Robbins	files when doing recurse :
517*6fdbbb54STim J. Robbins	# find . -name "*.c" | xargs grep main {}
518*6fdbbb54STim J. Robbins	# grep --include=*.c main .
519*6fdbbb54STim J. Robbins	# find . -not -name "*.c" | xargs grep main {}
520*6fdbbb54STim J. Robbins	# grep --exclude=*.c main .
521*6fdbbb54STim J. Robbins
522*6fdbbb54STim J. Robbins	* src/grep.c (short_options): -R equivalent to -r.
523*6fdbbb54STim J. Robbins	(#ifdef) : Fix some inconsistencies in the use of #ifdefs, prefer
524*6fdbbb54STim J. Robbins	#if defined() wen possible.
525*6fdbbb54STim J. Robbins	(long_options): Add --color, --include and exclude.
526*6fdbbb54STim J. Robbins	(Usage): Description of new options.
527*6fdbbb54STim J. Robbins	(color): Rename color variable to color_option.
528*6fdbbb54STim J. Robbins	Removed 'always|never|auto' arguments, not necessary for grep.
529*6fdbbb54STim J. Robbins	(exclude_pattern): new variable, holder for the file pattern.
530*6fdbbb54STim J. Robbins	(include_pattern): new variable, hoder for the file pattern.
531*6fdbbb54STim J. Robbins	* src/savedir.c: Signature change, take two new argmuments.
532*6fdbbb54STim J. Robbins	* doc/grep.texi: Document, new options.
533*6fdbbb54STim J. Robbins	* doc/grep.man: Document, new options.
534*6fdbbb54STim J. Robbins
535*6fdbbb54STim J. Robbins2001-02-09  Alain Magloire
536*6fdbbb54STim J. Robbins
537*6fdbbb54STim J. Robbins	* src/grep.c (long_options): Added equivalent to -r with -R.
538*6fdbbb54STim J. Robbins	* src/grep.c (usage): added --color and --colour.
539*6fdbbb54STim J. Robbins	Noted with patch from, H.Merijn Brand and Wichert Akkerman.
540*6fdbbb54STim J. Robbins
541*6fdbbb54STim J. Robbins2001-02-09  Alain Magloire
542*6fdbbb54STim J. Robbins
543*6fdbbb54STim J. Robbins	Patch from Ulrich Drepper to provide hilighting.
544*6fdbbb54STim J. Robbins
545*6fdbbb54STim J. Robbins	* src/grep.c: New option --color.
546*6fdbbb54STim J. Robbins	(color): New static var.
547*6fdbbb54STim J. Robbins	(COLOR_OPTION): new constant.
548*6fdbbb54STim J. Robbins	(grep_color): new static var.
549*6fdbbb54STim J. Robbins	(prline): Now when color is set prline() will call the current matcher
550*6fdbbb54STim J. Robbins	to find the offset of the matching string.
551*6fdbbb54STim J. Robbins	* src/savedir.c: Take advantage of _DIRENT_HAVE_TYPE if supported.
552*6fdbbb54STim J. Robbins	* src/search.c (EGexecute, Fexecute, Pexecute): Take a new argument
553*6fdbbb54STim J. Robbins	when doing exact match for the color hiligting.
554*6fdbbb54STim J. Robbins
555*6fdbbb54STim J. Robbins2000-09-01  Brian Youmans
556*6fdbbb54STim J. Robbins
557*6fdbbb54STim J. Robbins	* doc/grep.texi: Typo fixes.
558*6fdbbb54STim J. Robbins
559*6fdbbb54STim J. Robbins2000-08-30  Paul Eggert
560*6fdbbb54STim J. Robbins
561*6fdbbb54STim J. Robbins	* doc/grep.texi (Usage): Talk about what "grep -r hello *.c"
562*6fdbbb54STim J. Robbins	means.
563*6fdbbb54STim J. Robbins
564*6fdbbb54STim J. Robbins2000-08-20  Paul Eggert
565*6fdbbb54STim J. Robbins
566*6fdbbb54STim J. Robbins	Handle range expressions correctly even when they match
567*6fdbbb54STim J. Robbins	strings with two or more characters.
568*6fdbbb54STim J. Robbins
569*6fdbbb54STim J. Robbins	* src/dfa.h (CRANGE): New enum value.  Comment fix.
570*6fdbbb54STim J. Robbins
571*6fdbbb54STim J. Robbins	* src/dfa.c: Include <locale.h> if HAVE_SETLOCALE.
572*6fdbbb54STim J. Robbins	Include "hard-locale.h".
573*6fdbbb54STim J. Robbins	(prtok): Print CRANGE.
574*6fdbbb54STim J. Robbins	(hard_LC_COLLATE): New static var.
575*6fdbbb54STim J. Robbins	(lex): Return CRANGE when parsing a character range in a hard locale.
576*6fdbbb54STim J. Robbins	Don't use strcoll; it's no longer needed and wasn't correct anyway.
577*6fdbbb54STim J. Robbins	Use unsigned rather than token to hold unsigned chars.
578*6fdbbb54STim J. Robbins	(addtok): Comment fix.
579*6fdbbb54STim J. Robbins	(atom): Treat a CRANGE as if it were (.\1), approximately.
580*6fdbbb54STim J. Robbins	(dfaparse): Initialize hard_LC_COLLATE.
581*6fdbbb54STim J. Robbins
582*6fdbbb54STim J. Robbins	* src/Makefile.am (base_sources): Add hard-locale.c, hard-locale.h.
583*6fdbbb54STim J. Robbins
584*6fdbbb54STim J. Robbins	* src/hard-locale.c, src/hard-locale.h: New files, taken from
585*6fdbbb54STim J. Robbins	textutils.
586*6fdbbb54STim J. Robbins
587*6fdbbb54STim J. Robbins2000-08-20  Paul Eggert
588*6fdbbb54STim J. Robbins
589*6fdbbb54STim J. Robbins	* tests/Makefile.am (TESTS_ENVIRONMENT): Add LC_ALL=C, since
590*6fdbbb54STim J. Robbins	some of the tests assume the C locale.
591*6fdbbb54STim J. Robbins
592*6fdbbb54STim J. Robbins2000-08-16  Paul Eggert
593*6fdbbb54STim J. Robbins
594*6fdbbb54STim J. Robbins	* src/search.c (Gcompile, Ecompile): -x overrides -w, for
595*6fdbbb54STim J. Robbins	consistency with fgrep.  Don't assume that sizes fit in 'int'.
596*6fdbbb54STim J. Robbins	Fix comments to match code.
597*6fdbbb54STim J. Robbins
598*6fdbbb54STim J. Robbins2000-06-06  Paul Eggert
599*6fdbbb54STim J. Robbins
600*6fdbbb54STim J. Robbins	* src/grep.c (grepdir): Don't look at st_dev when testing for
601*6fdbbb54STim J. Robbins	Mingw32 bug.
602*6fdbbb54STim J. Robbins
603*6fdbbb54STim J. Robbins2000-06-05  Paul Eggert
604*6fdbbb54STim J. Robbins
605*6fdbbb54STim J. Robbins	Port to Mingw32, based on suggestions from Christian Groessler
606*6fdbbb54STim J. Robbins	<[email protected]>.
607*6fdbbb54STim J. Robbins
608*6fdbbb54STim J. Robbins	* src/isdir.c: New file, taken from fileutils.
609*6fdbbb54STim J. Robbins
610*6fdbbb54STim J. Robbins	* src/Makefile.am (base_sources): Add isdir.c.
611*6fdbbb54STim J. Robbins
612*6fdbbb54STim J. Robbins	* src/grep.c (grepfile): Use isdir instead of doing it inline.
613*6fdbbb54STim J. Robbins	(grepdir): Suppress ancestor check if the directory's inode and device
614*6fdbbb54STim J. Robbins	are both zero, as that occurs only on Mingw32 which doesn't support
615*6fdbbb54STim J. Robbins	inode or device.
616*6fdbbb54STim J. Robbins
617*6fdbbb54STim J. Robbins	* src/system.h (isdir): New decl.
618*6fdbbb54STim J. Robbins	(is_EISDIR): Depend on HAVE_DIR_EACCES_BUG, not D_OK.
619*6fdbbb54STim J. Robbins	Use isdir, not access.
620*6fdbbb54STim J. Robbins
621*6fdbbb54STim J. Robbins2000-06-02  Paul Eggert
622*6fdbbb54STim J. Robbins
623*6fdbbb54STim J. Robbins	Problen noted by Gerald Stoller <[email protected]>
624*6fdbbb54STim J. Robbins
625*6fdbbb54STim J. Robbins	* src/grep.c (main): POSIX.2 says that -q overrides -l, which
626*6fdbbb54STim J. Robbins	in turn overrides the other output options.  Fix grep to
627*6fdbbb54STim J. Robbins	behave that way.
628*6fdbbb54STim J. Robbins
629*6fdbbb54STim J. Robbins2000-05-27  Paul Eggert
630*6fdbbb54STim J. Robbins
631*6fdbbb54STim J. Robbins	Simplify and tune the buffer allocation strategy.  Do not reserve a
632*6fdbbb54STim J. Robbins	large save area: reserve only enough bytes to hold the residue, plus
633*6fdbbb54STim J. Robbins	page alignment.  Put a newline sentinel before the buffer, for speed
634*6fdbbb54STim J. Robbins	when searching backwards for newline.
635*6fdbbb54STim J. Robbins
636*6fdbbb54STim J. Robbins	* src/grep.c (ubuffer, bufsalloc, PREFERRED_SAVE_FACTOR, page_alloc):
637*6fdbbb54STim J. Robbins	Remove.  All uses changed.
638*6fdbbb54STim J. Robbins	(INITIAL_BUFSIZE): New macro.
639*6fdbbb54STim J. Robbins	(reset, fillbuf): Use simpler buffer allocation strategy.
640*6fdbbb54STim J. Robbins	(reset): Check for preposterously large pagesize that would cause
641*6fdbbb54STim J. Robbins	later calculations to overflow.
642*6fdbbb54STim J. Robbins	(fillbuf): Do not resize buffer if there's room at the end for
643*6fdbbb54STim J. Robbins	at least one more page.  This greatly increases performance when
644*6fdbbb54STim J. Robbins	reading from non-regular files that contain no newlines.
645*6fdbbb54STim J. Robbins	When growing the buffer, double its size instead of using a
646*6fdbbb54STim J. Robbins	more complicated algorithm.
647*6fdbbb54STim J. Robbins	(prtext, grep): Speed up by relying on the newline sentinel before the
648*6fdbbb54STim J. Robbins	start of the buffer.
649*6fdbbb54STim J. Robbins	(grep): When looking backwards for the last newline in a buffer,
650*6fdbbb54STim J. Robbins	stop when we hit the residue, since it can't contain a newline.
651*6fdbbb54STim J. Robbins	This avoids an O(N**2) algorithm when reading binary data from
652*6fdbbb54STim J. Robbins	a pipe.  Use a sentinel to speed up the backward search for newline.
653*6fdbbb54STim J. Robbins	(nlscan): Undo previous change; it wasn't needed and just complicates
654*6fdbbb54STim J. Robbins	and slows down the code a tad.
655*6fdbbb54STim J. Robbins
656*6fdbbb54STim J. Robbins2000-05-24  Paul Eggert
657*6fdbbb54STim J. Robbins
658*6fdbbb54STim J. Robbins	Handle very large input counts better. Bug noted by Jim Meyering.
659*6fdbbb54STim J. Robbins
660*6fdbbb54STim J. Robbins	* src/grep.c (totalcc, totalnl): Use uintmax_t, not off_t.
661*6fdbbb54STim J. Robbins	(add_count): New function.
662*6fdbbb54STim J. Robbins	(nlscan, prline, grep): Use it to check line and byte count overflows.
663*6fdbbb54STim J. Robbins	(nlscan, grep): Don't keep track of counts when not asked to; this
664*6fdbbb54STim J. Robbins	avoids unnecessary overflow diagnostics.
665*6fdbbb54STim J. Robbins	(print_offset_sep): Now takes args of type uintmax_t and char,
666*6fdbbb54STim J. Robbins	not off_t and int.
667*6fdbbb54STim J. Robbins
668*6fdbbb54STim J. Robbins2000-05-16  Paul Eggert
669*6fdbbb54STim J. Robbins
670*6fdbbb54STim J. Robbins	Problem reported by Bob Proulx <[email protected]>, this patch
671*6fdbbb54STim J. Robbins	is base on his finding, with appropiate corrections.
672*6fdbbb54STim J. Robbins
673*6fdbbb54STim J. Robbins	* src/grep.c (main): Fix bug: -x and -w matched even when no
674*6fdbbb54STim J. Robbins	patterns were specified.
675*6fdbbb54STim J. Robbins	* tests/empty.sh: Test for -x and -w bug in grep 2.4.2.
676*6fdbbb54STim J. Robbins
677*6fdbbb54STim J. Robbins2000-04-24  Paul Eggert
678*6fdbbb54STim J. Robbins
679*6fdbbb54STim J. Robbins	POSIX.2 conformance fixes: grep -q now exits with status zero
680*6fdbbb54STim J. Robbins	if an input line is selected, even if an error also occurs.
681*6fdbbb54STim J. Robbins	grep -s no longer affects exit status.
682*6fdbbb54STim J. Robbins
683*6fdbbb54STim J. Robbins	* src/grep.c (suppress_errors): Move definition earlier so
684*6fdbbb54STim J. Robbins	that suppressible_error can use it.
685*6fdbbb54STim J. Robbins	(suppressible_error): New function.
686*6fdbbb54STim J. Robbins	(exit_on_match): New var.
687*6fdbbb54STim J. Robbins	(grepbuf): If exit_on_match is nonzero, exit with status zero
688*6fdbbb54STim J. Robbins	immediately.
689*6fdbbb54STim J. Robbins	(grep, grepfile, grepdir): Invoke suppressible_error.
690*6fdbbb54STim J. Robbins	(main): -q sets exit_on_match.
691*6fdbbb54STim J. Robbins
692*6fdbbb54STim J. Robbins	* doc/grep.1, doc/grep.texi, NEWS:
693*6fdbbb54STim J. Robbins	Document -q's behavior as required by POSIX.2.
694*6fdbbb54STim J. Robbins
695*6fdbbb54STim J. Robbins	* tests/status.sh:
696*6fdbbb54STim J. Robbins	Test for -q and -s behavior as conforming to POSIX.2.
697*6fdbbb54STim J. Robbins
698*6fdbbb54STim J. Robbins2000-04-20  Paul Eggert
699*6fdbbb54STim J. Robbins
700*6fdbbb54STim J. Robbins	* tests/Makefile.am (TESTS_ENVIRONMENT):
701*6fdbbb54STim J. Robbins	Set GREP_OPTIONS to the empty string.
702*6fdbbb54STim J. Robbins
703*6fdbbb54STim J. Robbins2000-04-20  Paul Eggert
704*6fdbbb54STim J. Robbins
705*6fdbbb54STim J. Robbins	* tests/status.sh: Fix typo: test -b -> test -r.
706*6fdbbb54STim J. Robbins
707*6fdbbb54STim J. Robbins2000-04-20  Paul Eggert
708*6fdbbb54STim J. Robbins
709*6fdbbb54STim J. Robbins	* src/dfa.c (lex):
710*6fdbbb54STim J. Robbins	Do not assume that [c] is equivalent to [c-c]; this isn't true
711*6fdbbb54STim J. Robbins	if LC_COLLATE specifies that some characters are equivalent.
712*6fdbbb54STim J. Robbins	(setbit_case_fold): New function.
713*6fdbbb54STim J. Robbins	(lex): Use it to simplify the code a bit.
714*6fdbbb54STim J. Robbins
715*6fdbbb54STim J. Robbins2000-04-17  Paul Eggert
716*6fdbbb54STim J. Robbins
717*6fdbbb54STim J. Robbins	Do CRLF munging only if HAVE_DOS_FILE_CONTENTS, instead of
718*6fdbbb54STim J. Robbins	having it depend on O_BINARY (which leads to incorrect results
719*6fdbbb54STim J. Robbins	on BeOS, VMS, and MacOS).
720*6fdbbb54STim J. Robbins
721*6fdbbb54STim J. Robbins	* bootstrap/Makefile.try (DEFS): Add -DHAVE_DOS_FILE_CONTENTS.
722*6fdbbb54STim J. Robbins	* src/system.h (SET_BINARY): Define only if HAVE_DOS_FILE_CONTENTS.
723*6fdbbb54STim J. Robbins	(O_BINARY): Do not define.
724*6fdbbb54STim J. Robbins
725*6fdbbb54STim J. Robbins	* m4/dosfile.m4: Define HAVE_DOS_FILE_CONTENTS if it appears we're
726*6fdbbb54STim J. Robbins	using DOS.
727*6fdbbb54STim J. Robbins
728*6fdbbb54STim J. Robbins	* src/grep.c (undossify_input, fillbuf, dosbuf.c, prline, main):
729*6fdbbb54STim J. Robbins	Depend on HAVE_DOS_FILE_CONTENTS, not O_BINARY, when handling CRLF
730*6fdbbb54STim J. Robbins	matters.
731*6fdbbb54STim J. Robbins	(grepfile, main): Depend on SET_BINARY, not O_BINARY, when
732*6fdbbb54STim J. Robbins	handling binary files on hosts that care about text versus binary.
733*6fdbbb54STim J. Robbins
734*6fdbbb54STim J. Robbins2000-04-17  Paul Eggert
735*6fdbbb54STim J. Robbins
736*6fdbbb54STim J. Robbins	* lib/getpagesize.h (getpagesize): Define to B_PAGE_SIZE if
737*6fdbbb54STim J. Robbins	__BEOS__ is defined.  Based on a fix by Bruno Haible
738*6fdbbb54STim J. Robbins	<[email protected]>.
739*6fdbbb54STim J. Robbins
740*6fdbbb54STim J. Robbins2000-04-17  Bruno Haible
741*6fdbbb54STim J. Robbins
742*6fdbbb54STim J. Robbins	* src/system.h [BeOS]: Ignore O_BINARY.
743*6fdbbb54STim J. Robbins	* src/getpagesize.h [BeOS]: Define getpagesize() as B_PAGE_SIZE.
744*6fdbbb54STim J. Robbins
745*6fdbbb54STim J. Robbins2000-04-10  Paul Eggert
746*6fdbbb54STim J. Robbins
747*6fdbbb54STim J. Robbins	* doc/grep.1, doc/grep.texi, NEWS: -C now requires an operand.
748*6fdbbb54STim J. Robbins	* src/grep.c (short_options, long_options, main, usage): Likewise.
749*6fdbbb54STim J. Robbins	(context_length_arg): Renamed from ck_atoi.  Now reports an error
750*6fdbbb54STim J. Robbins	and exits if the number is out of range for a context length.
751*6fdbbb54STim J. Robbins	(get_nondigit_option): New function, which checks for overflow
752*6fdbbb54STim J. Robbins	correctly, and which does not parse nonadjacent strings of digits
753*6fdbbb54STim J. Robbins	into a single number.
754*6fdbbb54STim J. Robbins	(main): Use get_nondigit_option instead of doing the code inline.
755*6fdbbb54STim J. Robbins	With -A, -B, and -C, optarg is now guaranteed to be nonzero.
756*6fdbbb54STim J. Robbins
757*6fdbbb54STim J. Robbins2000-04-08  Paul Eggert
758*6fdbbb54STim J. Robbins
759*6fdbbb54STim J. Robbins	Now that we know that the input is always terminated by a
760*6fdbbb54STim J. Robbins	newline before the matching algorithms see it, clean up the
761*6fdbbb54STim J. Robbins	matching algorithms so that they no longer need to modify the
762*6fdbbb54STim J. Robbins	input by inserting a sentinel newline, and no longer worry
763*6fdbbb54STim J. Robbins	about running off the end of the buffer due to a missing sentinel.
764*6fdbbb54STim J. Robbins
765*6fdbbb54STim J. Robbins	* src/grep.c (nlscan, prpending, prtext, grepbuf): Do not
766*6fdbbb54STim J. Robbins	worry about running off the end of the input buffer, since
767*6fdbbb54STim J. Robbins	it's now guaranteed to end in the sentinel newline.
768*6fdbbb54STim J. Robbins	* src/search.c (EGexecute, Pexecute): Likewise.
769*6fdbbb54STim J. Robbins
770*6fdbbb54STim J. Robbins	* src/dfa.c (prtok, dfasyntax, dfaparse, copy, merge, state_index,
771*6fdbbb54STim J. Robbins	epsclosure, dfaexec, dfacomp):
772*6fdbbb54STim J. Robbins	Change many instances of "T *" to "T const *", to catch
773*6fdbbb54STim J. Robbins	any inadvertent programming errors made during this conversion.
774*6fdbbb54STim J. Robbins	* src/dfa.h (dfacomp, dfaexec, dfaparse): Likewise.
775*6fdbbb54STim J. Robbins	* src/grep.c (struct stats.parent, long_options, grepdir,
776*6fdbbb54STim J. Robbins	compile, execute, fillbuf, lastnl, lastout, nlscan, prline,
777*6fdbbb54STim J. Robbins	prpending, prtext, grepbuf, grep, grepfile, grepdir): Likewise.
778*6fdbbb54STim J. Robbins	* src/grep.h (struct matcher.compile, struct matcher.execute):
779*6fdbbb54STim J. Robbins	Likewise.
780*6fdbbb54STim J. Robbins	* src/kwset.c (struct kwset.trans, kwsalloc, kwsincr, treefails,
781*6fdbbb54STim J. Robbins	treedelta, hasevery, treenext, bmexec, cwexec, kwsexec): Likewise.
782*6fdbbb54STim J. Robbins	* src/kwset.h (kwsalloc, kwsincr, kwsexec): Likewise.
783*6fdbbb54STim J. Robbins	* src/search.c (kwsmusts, Gcompile, Ecompile, EGexecute, Pcompile,
784*6fdbbb54STim J. Robbins	Pexecute): Likewise.
785*6fdbbb54STim J. Robbins
786*6fdbbb54STim J. Robbins	* src/dfa.c (dfaexec):
787*6fdbbb54STim J. Robbins	Use size_t, not char *, to avoid worrisome casts to convert
788*6fdbbb54STim J. Robbins	char const * to char *.
789*6fdbbb54STim J. Robbins	* src/dfa.h (dfaexec): Likewise.
790*6fdbbb54STim J. Robbins	* src/grep.c (execute): Likewise.
791*6fdbbb54STim J. Robbins	* src/grep.h (execute): Likewise.
792*6fdbbb54STim J. Robbins	* src/kwset.c (bmexec, cwexec, kwsexec): Likewise.
793*6fdbbb54STim J. Robbins	* src/kwset.h (struct kwsmatch.offset, kwsalloc, kwsincr,
794*6fdbbb54STim J. Robbins	kwsexec): Likewise.
795*6fdbbb54STim J. Robbins	* src/search.c (EGexecute, Fexecute, Pexecute): Likewise.
796*6fdbbb54STim J. Robbins
797*6fdbbb54STim J. Robbins	* src/dfa.h (_PTR_T): Depend on defined __STDC__, not __STDC__.
798*6fdbbb54STim J. Robbins	(PARAMS): Depend on PROTOTYPES, not __STDC__.
799*6fdbbb54STim J. Robbins
800*6fdbbb54STim J. Robbins	* src/dfa.c (dfasyntax): Last arg is unsigned char, not int.
801*6fdbbb54STim J. Robbins	* src/dfa.h (dfasyntax): Likewise.
802*6fdbbb54STim J. Robbins
803*6fdbbb54STim J. Robbins	* src/dfa.h (struct dfa): Remove member newlines; no longer needed.
804*6fdbbb54STim J. Robbins	* src/dfa.c (build_state, dfaexec, dfafree): Do not worry
805*6fdbbb54STim J. Robbins	about special newline state.
806*6fdbbb54STim J. Robbins
807*6fdbbb54STim J. Robbins	* src/search.c (matchers): Move definition to end of file, so
808*6fdbbb54STim J. Robbins	that we don't need forward decls.
809*6fdbbb54STim J. Robbins	(lastexact): Remove.
810*6fdbbb54STim J. Robbins	(kwset_exact_matches): New var; subsumes old lastexact var.
811*6fdbbb54STim J. Robbins	All uses changed.
812*6fdbbb54STim J. Robbins
813*6fdbbb54STim J. Robbins	* src/dfa.c (index): Remove macro.
814*6fdbbb54STim J. Robbins	(REALLOC_IF_NECESSARY): Skip unnecessary test.
815*6fdbbb54STim J. Robbins	(tstbit, setbit, clrbit): Declare arg to be unsigned, to help compiler.
816*6fdbbb54STim J. Robbins	(copyset, zeroset, equal): Use C builtin primitives, to help compiler.
817*6fdbbb54STim J. Robbins	(dfaexec): Do not modify input string.
818*6fdbbb54STim J. Robbins	Remove newline parameter; no longer needed.
819*6fdbbb54STim J. Robbins	(comsubs): Use strchr, not index.
820*6fdbbb54STim J. Robbins
821*6fdbbb54STim J. Robbins	* src/grep.h (matchers): Use fixed name size, not pointer (as
822*6fdbbb54STim J. Robbins	there's no need for the extra flexibility).  All uses changed.
823*6fdbbb54STim J. Robbins
824*6fdbbb54STim J. Robbins	* src/kwset.h (struct kwsmatch.offset): Renamed from beg, with
825*6fdbbb54STim J. Robbins	change of type to size_t.  All uses changed.
826*6fdbbb54STim J. Robbins
827*6fdbbb54STim J. Robbins	* src/grep.c (reset): No longer need kludge for dfaexec.  Simplify.
828*6fdbbb54STim J. Robbins	(reset, grepbuf): Adjust to new interface for 'execute'.
829*6fdbbb54STim J. Robbins	(install_matcher): List is now terminated by null compile,
830*6fdbbb54STim J. Robbins	not null name.
831*6fdbbb54STim J. Robbins	Do not invoke setrlimit if that wouldn't change the limit.
832*6fdbbb54STim J. Robbins
833*6fdbbb54STim J. Robbins	* src/dfa.c (xcalloc, xmalloc, xrealloc, prtok, tstbit, setbit,
834*6fdbbb54STim J. Robbins	clrbit, copyset, zeroset, notset, equal, charclass_index,
835*6fdbbb54STim J. Robbins	looking_at, lex, addtok, atom, nsubtoks, copytoks, closure,
836*6fdbbb54STim J. Robbins	branch, regexp, copy, insert, merge, delete, state_index,
837*6fdbbb54STim J. Robbins	build_state, build_state_zero, icatalloc, icpyalloc, istrstr,
838*6fdbbb54STim J. Robbins	ifree, freelist, enlist, comsubs, addlists, inboth):
839*6fdbbb54STim J. Robbins	Remove forward decls; no longer needed.
840*6fdbbb54STim J. Robbins	* src/grep.c (ck_atoi, usage, error, setmatcher,
841*6fdbbb54STim J. Robbins	install_matcher, prepend_args, prepend_default_options,
842*6fdbbb54STim J. Robbins	page_alloc, reset, fillbuf, grepbuf, prtext, prpending, prline,
843*6fdbbb54STim J. Robbins	print_offset_sep, nlscan, grep, grepfile): Likewise.
844*6fdbbb54STim J. Robbins	* src/kwset.c (enqueue, treefails, treedelta, hasevery,
845*6fdbbb54STim J. Robbins	treenext, bmexec, cwexec): Likewise.
846*6fdbbb54STim J. Robbins	* src/search.c (Gcompile, Ecompile, EGexecute, Fcompile, Fexecute,
847*6fdbbb54STim J. Robbins	Pcompile, Pexecute, kwsinit): Likewise.
848*6fdbbb54STim J. Robbins
849*6fdbbb54STim J. Robbins	* src/search.c (Pcompile): Do not assume newly allocated
850*6fdbbb54STim J. Robbins	storage is zeroed.
851*6fdbbb54STim J. Robbins
852*6fdbbb54STim J. Robbins2000-04-06  Paul Eggert
853*6fdbbb54STim J. Robbins
854*6fdbbb54STim J. Robbins	* doc/grep.1, doc/grep.texi, NEWS: Improve the explanation of
855*6fdbbb54STim J. Robbins	locale-dependent behavior of range expressions.  Mention
856*6fdbbb54STim J. Robbins	LC_COLLATE, since this affects range expressions.
857*6fdbbb54STim J. Robbins
858*6fdbbb54STim J. Robbins2000-03-26  Paul Eggert
859*6fdbbb54STim J. Robbins
860*6fdbbb54STim J. Robbins	* Makefile.am (ACINCLUDE_INPUTS): Add decl.m4, inttypes_h.m4,
861*6fdbbb54STim J. Robbins	uintmax_t.m4, ulonglong.m4, xstrtoumax.m4.
862*6fdbbb54STim J. Robbins	* m4/Makefile.am (EXTRA_DIST): Likewise.
863*6fdbbb54STim J. Robbins
864*6fdbbb54STim J. Robbins	* src/Makefile.am (base_sources):
865*6fdbbb54STim J. Robbins	Add xstrtol.c, xstrtol.h, xstrtoumax.c.
866*6fdbbb54STim J. Robbins	(EXTRA_DIST): Add strtol.c.
867*6fdbbb54STim J. Robbins
868*6fdbbb54STim J. Robbins	* configure.in (jm_AC_TYPE_UINTMAX_T, jm_AC_PREREQ_XSTRTOUMAX,
869*6fdbbb54STim J. Robbins	HAVE_DECL_STRTOUL, HAVE_DECL_STRTOULL): Add.
870*6fdbbb54STim J. Robbins	(AC_REPLACE_FUNCS): Add strtoul.
871*6fdbbb54STim J. Robbins
872*6fdbbb54STim J. Robbins	* src/grep.c: Include xstrtol.h.
873*6fdbbb54STim J. Robbins	(ck_atio): Use xstrtoumax and do proper overflow checking.
874*6fdbbb54STim J. Robbins	(max_count, outleft): Now off_t, not int.
875*6fdbbb54STim J. Robbins	(main): Likewise. Use xstrtoumax to convert max_count from string.
876*6fdbbb54STim J. Robbins
877*6fdbbb54STim J. Robbins	* acconfig.h (HAVE_DECL_STRTOUL, HAVE_DECL_STRTOULL): New #undefs.
878*6fdbbb54STim J. Robbins	(HAVE_STPCPY, ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
879*6fdbbb54STim J. Robbins	HAVE_LC_MESSAGES): Remove.
880*6fdbbb54STim J. Robbins
881*6fdbbb54STim J. Robbins	* m4/decl.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4,
882*6fdbbb54STim J. Robbins	m4/xstrtoumax.m4, src/strtol.c, src/strtoul.c, src/strtoull.c,
883*6fdbbb54STim J. Robbins	src/strtoumax.c, src/xstrtol.c, src/xstrtol.h, src/xstrtoumax.c:
884*6fdbbb54STim J. Robbins	New files, taken unchanged from textutils, fileutils, sh-utils
885*6fdbbb54STim J. Robbins	and/or tar.
886*6fdbbb54STim J. Robbins
887*6fdbbb54STim J. Robbins2000-03-23  Paul Eggert
888*6fdbbb54STim J. Robbins
889*6fdbbb54STim J. Robbins	* src/search.c (Pcompile): Add support for NUL bytes in
890*6fdbbb54STim J. Robbins	Perl regular expressions.
891*6fdbbb54STim J. Robbins
892*6fdbbb54STim J. Robbins2000-03-23  Paul Eggert
893*6fdbbb54STim J. Robbins
894*6fdbbb54STim J. Robbins	* NEWS, doc/grep.1, doc/grep.texi: Change --pcre to --perl-regexp.
895*6fdbbb54STim J. Robbins	* src/grep.c (long_options, usage): Likewise.
896*6fdbbb54STim J. Robbins
897*6fdbbb54STim J. Robbins	* doc/grep.1, doc/grep.texi: Remove pgrep program.
898*6fdbbb54STim J. Robbins	* src/Makefile.am (bin_PROGRAMS): Likewise.
899*6fdbbb54STim J. Robbins	(pgrep_SOURCES): Remove.
900*6fdbbb54STim J. Robbins
901*6fdbbb54STim J. Robbins	* src/grep.c (main): Rename matcher from "pgrep" to "perl".
902*6fdbbb54STim J. Robbins	* src/search.c (matchers): Likewise.
903*6fdbbb54STim J. Robbins
904*6fdbbb54STim J. Robbins	* src/search.c: Do not include stdio.h; no longer needed.
905*6fdbbb54STim J. Robbins	(NILP): Remove.
906*6fdbbb54STim J. Robbins	(sub): No longer static.
907*6fdbbb54STim J. Robbins	(n_pcre): Remove.
908*6fdbbb54STim J. Robbins	(cre): No longer an array.  Present only if HAVE_LIBPCRE.
909*6fdbbb54STim J. Robbins	(extra): New variable.
910*6fdbbb54STim J. Robbins	(Pcompile): Use fatal to report errors.
911*6fdbbb54STim J. Robbins	This also removes a possible core dump.
912*6fdbbb54STim J. Robbins	Add checks (marked FIXME) for restrictions in pcre.
913*6fdbbb54STim J. Robbins	Use pcre_maketables for proper localized behavior.
914*6fdbbb54STim J. Robbins	(Pcompile, Pexecute): Use GNU coding style.
915*6fdbbb54STim J. Robbins	The argument is a single pattern, not a list of patterns separated
916*6fdbbb54STim J. Robbins	by newlines; this is for consistency with grep and egrep.
917*6fdbbb54STim J. Robbins	Use pcre_study for speed.
918*6fdbbb54STim J. Robbins	(Pexecute): Abort if we lack pcre.
919*6fdbbb54STim J. Robbins	Abort if pcre_exec reports an impossible error.
920*6fdbbb54STim J. Robbins	Use code similar to the rest of search.c
921*6fdbbb54STim J. Robbins	to narrow down to the line we've found.
922*6fdbbb54STim J. Robbins
923*6fdbbb54STim J. Robbins2000-03-21  Alain Magloire
924*6fdbbb54STim J. Robbins
925*6fdbbb54STim J. Robbins	* configure.in: added AC_CHECK_LIB(pcre, pcre_exec)
926*6fdbbb54STim J. Robbins	* ChangeLog: Typos corrected.
927*6fdbbb54STim J. Robbins	* src/search.c: new MACRO HAVE_LIBPCRE
928*6fdbbb54STim J. Robbins
929*6fdbbb54STim J. Robbins2000-03-21  H.Merijn Brand
930*6fdbbb54STim J. Robbins
931*6fdbbb54STim J. Robbins	* src/Makefile.am(bin_PROGRAMS): added pgrep and new macro
932*6fdbbb54STim J. Robbins	pgrep_SOURCES.
933*6fdbbb54STim J. Robbins	* src/search.c: new functions Pcompile() and Pexecute()
934*6fdbbb54STim J. Robbins	to support PCRE.  Update matcher[] array for pgrep.
935*6fdbbb54STim J. Robbins	* src/grep.c: new short and long option --pcre and -P.
936*6fdbbb54STim J. Robbins	usage() updated.
937*6fdbbb54STim J. Robbins
938*6fdbbb54STim J. Robbins2000-03-21  Bastiaan Stougie
939*6fdbbb54STim J. Robbins
940*6fdbbb54STim J. Robbins	Improvement of the -m or --max-count option. Now works for NUM > 1 and
941*6fdbbb54STim J. Robbins	prints trailing context for the last matching line.
942*6fdbbb54STim J. Robbins
943*6fdbbb54STim J. Robbins	* src/grep.c
944*6fdbbb54STim J. Robbins	(after_last_match): Is a new off_t variable that replaces inputhwm
945*6fdbbb54STim J. Robbins	to retain the correct input offset even after a call to fillbuf. Note
946*6fdbbb54STim J. Robbins	that after_last_match has a different meaning than inputhwm:
947*6fdbbb54STim J. Robbins	it always points to the offset in the input of the first byte after
948*6fdbbb54STim J. Robbins	the last matching line, and is 0 if no matching line has been found
949*6fdbbb54STim J. Robbins	yet.
950*6fdbbb54STim J. Robbins	(grep): Print trailing context after the NUMth match when the -m NUM
951*6fdbbb54STim J. Robbins	option is used.
952*6fdbbb54STim J. Robbins	(grep): Added comment. Should have been commented already.
953*6fdbbb54STim J. Robbins	(grepbuf): Now updates outleft correctly. This fixes the bug that the
954*6fdbbb54STim J. Robbins	-m NUM option did not stop after NUM lines for NUM greater than 1.
955*6fdbbb54STim J. Robbins	(grepbuf, prtext): Now update after_last_match instead of inputhwm.
956*6fdbbb54STim J. Robbins	(fillbuf): No longer updates inputhwm.
957*6fdbbb54STim J. Robbins	(prpending): When outputting trailing context of the max_count-th
958*6fdbbb54STim J. Robbins        matching line, stop at the first matching line.
959*6fdbbb54STim J. Robbins	(grepfile): Seek to after_last_match or eof, depending on the values
960*6fdbbb54STim J. Robbins        of outleft and bufmapped.
961*6fdbbb54STim J. Robbins	(usage): added the -m or --max-count option to the help message.
962*6fdbbb54STim J. Robbins	* doc/grep.texi, doc/grep.1: Document the change of the -m option.
963*6fdbbb54STim J. Robbins
964*6fdbbb54STim J. Robbins2000-03-17  Paul Eggert
965*6fdbbb54STim J. Robbins
966*6fdbbb54STim J. Robbins	Add new -m or --max-count option, based on a suggestion by
967*6fdbbb54STim J. Robbins	Bastiaan Stougie.
968*6fdbbb54STim J. Robbins
969*6fdbbb54STim J. Robbins	* doc/grep.texi, doc/grep.1: Document it.
970*6fdbbb54STim J. Robbins	* src/grep.c (short_options, long_options, main): Add it.
971*6fdbbb54STim J. Robbins	(inputhwm): New variable.
972*6fdbbb54STim J. Robbins	(fillbuf, prtext, grepbuf): Set it.
973*6fdbbb54STim J. Robbins	(bufmapped): Now a macro (defined to zero) if HAVE_MMAP is not defined.
974*6fdbbb54STim J. Robbins	(max_count, outleft): New variables.
975*6fdbbb54STim J. Robbins	(prtext, grepbuf, grep): Don't output more than outleft lines.
976*6fdbbb54STim J. Robbins	(grepfile): If grepping standard input, seek to the limit of what
977*6fdbbb54STim J. Robbins	we've read before exiting.  This fixes a bug with mmapped input,
978*6fdbbb54STim J. Robbins	and is needed for proper -m support.
979*6fdbbb54STim J. Robbins	(main): Exit immediately if -m 0 is specified.
980*6fdbbb54STim J. Robbins
9817a39f4daSAndrey A. Chernov2000-03-08  Alain Magloire
9827a39f4daSAndrey A. Chernov
9837a39f4daSAndrey A. Chernov	* configure.in: version 2.4.2
9847a39f4daSAndrey A. Chernov
9857a39f4daSAndrey A. Chernov2000-03-07  Paul Eggert
9867a39f4daSAndrey A. Chernov
9877a39f4daSAndrey A. Chernov	* Make intl subdirectory match fileutils, tar, etc.;
9887a39f4daSAndrey A. Chernov	see intl/ChangeLog for details.
9897a39f4daSAndrey A. Chernov
9907a39f4daSAndrey A. Chernov	* src/getpagesize.h: Reformat to match latest fileutils.
9917a39f4daSAndrey A. Chernov
9927a39f4daSAndrey A. Chernov	* src/savedir.c (savedir): Work even if directory size is
9937a39f4daSAndrey A. Chernov	negative; this can happen with some NFS screwups.
9947a39f4daSAndrey A. Chernov
9957a39f4daSAndrey A. Chernov2000-03-03  Jim Meyering
9967a39f4daSAndrey A. Chernov
9977a39f4daSAndrey A. Chernov	* regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
9987a39f4daSAndrey A. Chernov
9997a39f4daSAndrey A. Chernov2000-03-02  Alain Magloire
10007a39f4daSAndrey A. Chernov
10017a39f4daSAndrey A. Chernov	* 2.4.1 Release
10027a39f4daSAndrey A. Chernov
10037a39f4daSAndrey A. Chernov2000-02-25  Paul Eggert
10047a39f4daSAndrey A. Chernov
10057a39f4daSAndrey A. Chernov	* configure.in (LIBOBJS): Work around automake 1.4 bug:
10067a39f4daSAndrey A. Chernov	regex.c wasn't being passed through ansi2knr on pre-ANSI hosts.
10077a39f4daSAndrey A. Chernov	(ac_use_included_regex): Fix typo in warning.
10087a39f4daSAndrey A. Chernov	* src/Makefile.am (EXTRA_DIST): Remove regex.c, as the LIBOBJS
10097a39f4daSAndrey A. Chernov	workaround means that automake now puts regex.c into DIST_COMMON.
10107a39f4daSAndrey A. Chernov
10117a39f4daSAndrey A. Chernov2000-02-25  Alain Magloire
10127a39f4daSAndrey A. Chernov
10137a39f4daSAndrey A. Chernov	* po/*.po: update of the PO files.
10147a39f4daSAndrey A. Chernov
10157a39f4daSAndrey A. Chernov2000-02-22  Eli Zaretskii
10167a39f4daSAndrey A. Chernov
10177a39f4daSAndrey A. Chernov	* doc/grep.1:  Two small glitches(typos).
10187a39f4daSAndrey A. Chernov
10197a39f4daSAndrey A. Chernov2000-02-18  Eli Zaretskii
10207a39f4daSAndrey A. Chernov
10217a39f4daSAndrey A. Chernov	* djgpp/config.site (prefix, INSTALL): Use /dev/env/DJDIR instead
10227a39f4daSAndrey A. Chernov	of ${DJDIR}, so that the produced Makefile's work on any DJGPP
10237a39f4daSAndrey A. Chernov	installation.
10247a39f4daSAndrey A. Chernov
10257a39f4daSAndrey A. Chernov2000-01-30 Alain Magloire
10267a39f4daSAndrey A. Chernov
10277a39f4daSAndrey A. Chernov	* doc/grep.1:  corrected typo.
1028*6fdbbb54STim J. Robbins	Noted by Ruslan Ermilov.
10297a39f4daSAndrey A. Chernov
10307a39f4daSAndrey A. Chernov2000-01-30 Alain Magloire
10317a39f4daSAndrey A. Chernov
10327a39f4daSAndrey A. Chernov	* vms/Makefile.am: added config_vms.h to EXTRA_DIST.
10337a39f4daSAndrey A. Chernov	* vms/config_vms.h: New File, contains macros specific to VMS and
10347a39f4daSAndrey A. Chernov	avoid namespace collision with operating system supplied C library.
10357a39f4daSAndrey A. Chernov	* vms/make.com: Better compiler auto-detection; information for builds
10367a39f4daSAndrey A. Chernov	on pre-OpenVMS 7.x systems; general overhaul.
10377a39f4daSAndrey A. Chernov	* src/getpagesize.h: Reinstate support for different pagesizes on
10387a39f4daSAndrey A. Chernov	VAX and Alpha. Work around problem with DEC C compiler.
10397a39f4daSAndrey A. Chernov	* src/vms_fab.c: Cast to some assigments; fixed typo argcp vs. argp.
10407a39f4daSAndrey A. Chernov	* src/vms_fab.h: Added new include files to avoid warnings about
10417a39f4daSAndrey A. Chernov	undefined function prototypes.
10427a39f4daSAndrey A. Chernov	Those patches were provided by Martin P.J. Zinser ([email protected]).
10437a39f4daSAndrey A. Chernov
10447a39f4daSAndrey A. Chernov2000-01-30  Paul Eggert
10457a39f4daSAndrey A. Chernov
10467a39f4daSAndrey A. Chernov        * src/grep.c (main): Update copyright notice.
10477a39f4daSAndrey A. Chernov
10487898cc4cSRuslan Ermilov2000-01-28  Alain Magloire
10497898cc4cSRuslan Ermilov
10507898cc4cSRuslan Ermilov	* src/grep.c (usage):  The example "%s -i 'hello.*world' could
10517898cc4cSRuslan Ermilov	lead to confusion when progname is 'fgrep.
10527898cc4cSRuslan Ermilov	Noted by Akim Demaille.
10537898cc4cSRuslan Ermilov
10547898cc4cSRuslan Ermilov	* configure.in: Reenable, jm_INCLUDE_REGEX() since we now
10557898cc4cSRuslan Ermilov	track GNU lib C.
10567898cc4cSRuslan Ermilov	* src/Makefile.am: EXTRA_DIST new macros with regex.c regex.h.
10577898cc4cSRuslan Ermilov	Requested By Ulrich Drepper.
10587898cc4cSRuslan Ermilov
10597898cc4cSRuslan Ermilov2000-01-25  Paul Eggert
10607898cc4cSRuslan Ermilov
10617898cc4cSRuslan Ermilov	* src/grep.c (grep): If the final byte of an input file is not
10627898cc4cSRuslan Ermilov	a newline, grep now silently supplies one.
10637898cc4cSRuslan Ermilov	* doc/grep.texi, NEWS: Likewise.
10647898cc4cSRuslan Ermilov
10657898cc4cSRuslan Ermilov2000-01-25  Paul Eggert
10667898cc4cSRuslan Ermilov
10677898cc4cSRuslan Ermilov	* NEWS, doc/grep.1, doc/grep.texi: Add -I option.
10687898cc4cSRuslan Ermilov	* src/grep.c (short_options, usage, main): Likewise.
10697898cc4cSRuslan Ermilov
10707898cc4cSRuslan Ermilov	* doc/grep.texi: Fix some incorrect references to ASCII.
10717898cc4cSRuslan Ermilov
10727898cc4cSRuslan Ermilov2000-01-25  Paul Eggert
10737898cc4cSRuslan Ermilov
10747898cc4cSRuslan Ermilov	* doc/grep.1: Simplify synopsis; sort options; mention
10757898cc4cSRuslan Ermilov	environment variables; clean up some minor gaffes.
10767898cc4cSRuslan Ermilov
10777898cc4cSRuslan Ermilov2000-01-25  Paul Eggert
10787898cc4cSRuslan Ermilov
10797898cc4cSRuslan Ermilov	* doc/grep.texi:
10807898cc4cSRuslan Ermilov	Fix some errors in description of [:print:] and the like.
10817898cc4cSRuslan Ermilov
10827898cc4cSRuslan Ermilov2000-01-23  Paul Eggert
10837898cc4cSRuslan Ermilov
10847898cc4cSRuslan Ermilov	* src/dfa.c (FETCH, lex): Put brackets around if-body to avoid
10857898cc4cSRuslan Ermilov	GCC warning about ambiguous if-then-else.
10867898cc4cSRuslan Ermilov
10877898cc4cSRuslan Ermilov2000-01-23  Paul Eggert
10887898cc4cSRuslan Ermilov
10897898cc4cSRuslan Ermilov	* src/regex.c (GET_UNSIGNED_NUMBER): Allow only ASCII digits.
10907898cc4cSRuslan Ermilov	* src/dfa.c (ISASCIIDIGIT): New macro.
10917898cc4cSRuslan Ermilov	(lex): Use it instead of ISDIGIT.
10927898cc4cSRuslan Ermilov
10937898cc4cSRuslan Ermilov2000-01-23  Paul Eggert
10947898cc4cSRuslan Ermilov
10957898cc4cSRuslan Ermilov	The bug is that regular expression ranges like [a-z] compare raw
10967898cc4cSRuslan Ermilov	byte codes to the range boundaries, whereas POSIX says that they
10977898cc4cSRuslan Ermilov	should use the current collating sequence instead.  For example,
10987898cc4cSRuslan Ermilov	in Solaris 7 with LC_ALL=en_US, the command
10997898cc4cSRuslan Ermilov	echo x | grep '[ -~]'
11007898cc4cSRuslan Ermilov	outputs 'x', but it shouldn't output anything since ' ' and '~'
11017898cc4cSRuslan Ermilov	sort before all letters in that locale.
11027898cc4cSRuslan Ermilov
11037898cc4cSRuslan Ermilov	* src/regex.c (compile_range): When matching a character
11047898cc4cSRuslan Ermilov	range, use the current collating sequence, as POSIX requires.
11057898cc4cSRuslan Ermilov	* src/dfa.c (lex): Likewise.
11067898cc4cSRuslan Ermilov
11077898cc4cSRuslan Ermilov2000-01-20  Alain Magloire
11087898cc4cSRuslan Ermilov
11097898cc4cSRuslan Ermilov	* tests/Makefile.am (dist-hook): Added new rule to make sure
11107898cc4cSRuslan Ermilov	that the shell scripts have the right permissions.
11117898cc4cSRuslan Ermilov	* src/posix/Makefile.am (EXTRA_DIST): added regex.h in the
11127898cc4cSRuslan Ermilov	distribution.
11137898cc4cSRuslan Ermilov	* THANKS: updated.
11147898cc4cSRuslan Ermilov
11157898cc4cSRuslan Ermilov2000-01-18  Alain Magloire
11167898cc4cSRuslan Ermilov
11177898cc4cSRuslan Ermilov	* Rectification the initial patch to add --binary-file option
11187898cc4cSRuslan Ermilov	was done by Ruslan Ermilov.
11197898cc4cSRuslan Ermilov
11207898cc4cSRuslan Ermilov2000-01-17  Paul Eggert
11217898cc4cSRuslan Ermilov
11227898cc4cSRuslan Ermilov	Sync with sources of fileutils 4.0n, tar 1.13.17, glibc 2.1.3a1.
11237898cc4cSRuslan Ermilov	Convert to ANSI C prototypes (using ansi2knr for backwards
11247898cc4cSRuslan Ermilov	compatibility), as this makes it easier to sync.
11257898cc4cSRuslan Ermilov
11267898cc4cSRuslan Ermilov	* configure.in (AC_OBJEXT): Spell in a funny way, to work around
11277898cc4cSRuslan Ermilov	a bug in automake 1.4 with ansi2knr.
11287898cc4cSRuslan Ermilov	(LIBOBJS): Add assignment so that .o files in LIBOBJS are also built
11297898cc4cSRuslan Ermilov	via the ANSI2KNR-filtering rules.
11307898cc4cSRuslan Ermilov	(AC_OUTPUT): Add src/posix/Makefile.
11317898cc4cSRuslan Ermilov	* src/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
11327898cc4cSRuslan Ermilov	(SUBDIRS): New macro.
11337898cc4cSRuslan Ermilov	* src/ansi2knr.1, src/ansi2knr.c, src/posix/Makefile.am: New files.
11347898cc4cSRuslan Ermilov	* src/dfa.c, src/dosbuf.c, src/grep.c, src/kwset.c, src/search.c,
11357898cc4cSRuslan Ermilov	src/vms_fab.c:
11367898cc4cSRuslan Ermilov	Use prototypes for function definitions.
11377898cc4cSRuslan Ermilov	* src/grep.c (main): Use int counter for default context,
11387898cc4cSRuslan Ermilov	fixing an ANSI portability bug uncovered by the above changes.
11397898cc4cSRuslan Ermilov
11407898cc4cSRuslan Ermilov	* config.guess, config.sub, install-sh, missing, src/alloca.c,
11417898cc4cSRuslan Ermilov	src/getpagesize.h, src/memchr.c, src/savedir.c, src/savedir.h,
11427898cc4cSRuslan Ermilov	src/stpcpy.c:
11437898cc4cSRuslan Ermilov	Upgrade to latest version from fileutils 4.0n.
11447898cc4cSRuslan Ermilov
11457898cc4cSRuslan Ermilov	* src/getopt.c, src/getopt.h, src/getopt1.c: Upgrade to latest
11467898cc4cSRuslan Ermilov	version from tar 1.13.17.
11477898cc4cSRuslan Ermilov
11487898cc4cSRuslan Ermilov	* src/obstack.c, src/obstack.h, src/regex.c, src/regex.h:
11497898cc4cSRuslan Ermilov	Upgrade to glibc 2.1.3 alpha 1, with K&R C portability fix.
11507898cc4cSRuslan Ermilov	* src/posix/regex.h: New file, from glibc 2.1.3 alpha 1.
11517898cc4cSRuslan Ermilov
1152d513cb6cSRuslan Ermilov2000-01-04  Paul Eggert
1153d513cb6cSRuslan Ermilov
1154*6fdbbb54STim J. Robbins	Initial patch by Ruslan Ermilov.
1155d513cb6cSRuslan Ermilov
1156d513cb6cSRuslan Ermilov	Add --binary-files option.
1157d513cb6cSRuslan Ermilov	* NEWS, doc/grep.1, doc/grep.texi: Document it.
1158d513cb6cSRuslan Ermilov	* src/grep.c (BINARY_FILES_OPTION): New constant.
1159d513cb6cSRuslan Ermilov	(long_options, grep, usage, main): New --binary-files option.
1160d513cb6cSRuslan Ermilov	(binary_files): New var.
1161d513cb6cSRuslan Ermilov	* src/system.h (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, CHAR_MAX):
1162d513cb6cSRuslan Ermilov	New macros.
1163d513cb6cSRuslan Ermilov	(INT_MAX, UCHAR_MAX): Define in terms of TYPE_MAXIMUM.
1164d513cb6cSRuslan Ermilov
1165d513cb6cSRuslan Ermilov2000-01-04  Paul Eggert
1166d513cb6cSRuslan Ermilov
1167d513cb6cSRuslan Ermilov	* savedir.c (savedir): Don't store past the end of an array if
1168d513cb6cSRuslan Ermilov	name_size is zero and the directory is empty.
1169d513cb6cSRuslan Ermilov	Reported by Dima Barsky <[email protected]>.
1170d513cb6cSRuslan Ermilov
11717a39f4daSAndrey A. Chernov1999-12-03  Alain Magloire
11727a39f4daSAndrey A. Chernov
11737a39f4daSAndrey A. Chernov	* 2.4 Release.
11747a39f4daSAndrey A. Chernov
11759ca25a7fSDavid E. O'Brien1999-11-18  Paul Eggert
11769ca25a7fSDavid E. O'Brien
11779ca25a7fSDavid E. O'Brien	* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
11789ca25a7fSDavid E. O'Brien	problem with the QNX 4.25 shell, which doesn't propagate exit
11799ca25a7fSDavid E. O'Brien	status of failed commands inside shell assignments.
11809ca25a7fSDavid E. O'Brien
11819ca25a7fSDavid E. O'Brien1999-11-13  Eli Zaretskii
11829ca25a7fSDavid E. O'Brien
11839ca25a7fSDavid E. O'Brien	* doc/grep.texi: Minor markup and spelling corrections.  Use
11849ca25a7fSDavid E. O'Brien	@noindent where appropriate.
11859ca25a7fSDavid E. O'Brien
11869ca25a7fSDavid E. O'Brien	* PATCHES-{AM,AC}: rename to PATCHES.{AM,AC}
11879ca25a7fSDavid E. O'Brien
11889ca25a7fSDavid E. O'Brien1999-11-12  Eli Zaretskii
11899ca25a7fSDavid E. O'Brien
11909ca25a7fSDavid E. O'Brien	doc/grep.texi: Minor fixes and typos corrected.
11919ca25a7fSDavid E. O'Brien	djgpp/README: Updated version.
11929ca25a7fSDavid E. O'Brien
11939ca25a7fSDavid E. O'Brien1999-11-07  Paul Eggert
11949ca25a7fSDavid E. O'Brien
11959ca25a7fSDavid E. O'Brien	* src/grep.c (usage): Fix misspelling.
11969ca25a7fSDavid E. O'Brien
11979ca25a7fSDavid E. O'Brien1999-11-07  Paul Eggert
11989ca25a7fSDavid E. O'Brien
11999ca25a7fSDavid E. O'Brien	Don't assume that the C library has re_set_syntax and friends.
12009ca25a7fSDavid E. O'Brien	* src/Makefile.am (base_sources): Add regex.c, regex.h.
12019ca25a7fSDavid E. O'Brien	(EXTRA_DIST): Remove regex.c, regex.h.
12029ca25a7fSDavid E. O'Brien
12039ca25a7fSDavid E. O'Brien	* src/grep.c (prtext): Use out_quiet, not not_text, to decide
12049ca25a7fSDavid E. O'Brien	whether to set pending to zero at the end.
12059ca25a7fSDavid E. O'Brien	(not_text): Remove static variable, undoing latest change.
12069ca25a7fSDavid E. O'Brien	(grep): Likewise.
12079ca25a7fSDavid E. O'Brien
12089ca25a7fSDavid E. O'Brien	* doc/grep.texi: Tighten up the text, and fix some minor
12099ca25a7fSDavid E. O'Brien	spelling and usage errors.  Use @enumerate rather than @table
12109ca25a7fSDavid E. O'Brien	@samp, since it's better for Q&A format.  Add cross
12119ca25a7fSDavid E. O'Brien	references.
12129ca25a7fSDavid E. O'Brien
12139ca25a7fSDavid E. O'Brien1999-11-01 Alain Magloire
12149ca25a7fSDavid E. O'Brien
12159ca25a7fSDavid E. O'Brien	* src/search.c: Use the more portable [[:alnum:]]
12169ca25a7fSDavid E. O'Brien	to define a word instead of Ascii dependent [0-9A-Za-z]
12179ca25a7fSDavid E. O'Brien	* src/grep.c: make not_text global to not display text when
12189ca25a7fSDavid E. O'Brien	the context switches -A/-B/-C are use on binary files.
12199ca25a7fSDavid E. O'Brien	* make grep-2.3g available for testing.
12209ca25a7fSDavid E. O'Brien	* configure.in: drop support for --without-included-regex.
12219ca25a7fSDavid E. O'Brien	This was generating bogus bug reports, since many GNU/Linux
12229ca25a7fSDavid E. O'Brien	users have different version of glibc.  And glibc maintainers
12239ca25a7fSDavid E. O'Brien	decided to drop k&r support.
12249ca25a7fSDavid E. O'Brien
12259ca25a7fSDavid E. O'Brien1999-11-01 Arnold D. Robbins
12269ca25a7fSDavid E. O'Brien
12279ca25a7fSDavid E. O'Brien	* regex.c (init_syntax_once): move below definition of
12289ca25a7fSDavid E. O'Brien	ISALNUM etc., then use ISALNUM to init the table, so that
12299ca25a7fSDavid E. O'Brien	the word ops will work if i18n'ed.
12309ca25a7fSDavid E. O'Brien	(SYNTAX): And subscript with 0xFF for Latin-1 characters.
12319ca25a7fSDavid E. O'Brien
12329ca25a7fSDavid E. O'Brien1999-10-26  Alain Magloire
12339ca25a7fSDavid E. O'Brien
12349ca25a7fSDavid E. O'Brien	* src/regex.c: Merge changes from GNU lib C.
12359ca25a7fSDavid E. O'Brien	* Updated the *.po files
12369ca25a7fSDavid E. O'Brien
12379ca25a7fSDavid E. O'Brien1999-10-26  Paul Eggert
12389ca25a7fSDavid E. O'Brien
12399ca25a7fSDavid E. O'Brien	* src/grep.c (fillbuf): Don't report buffer size overflow if
12409ca25a7fSDavid E. O'Brien	newalloc == save and maxalloc == save.  This can happen
12419ca25a7fSDavid E. O'Brien	e.g. when reading a large page-aligned file that contains
12429ca25a7fSDavid E. O'Brien	no newlines.
12439ca25a7fSDavid E. O'Brien
12449ca25a7fSDavid E. O'Brien1999-10-21  Paul Eggert
12459ca25a7fSDavid E. O'Brien
12469ca25a7fSDavid E. O'Brien	* src/grep.c (usage): Give example.  Clarify -F.
12479ca25a7fSDavid E. O'Brien	Explain exit status more clearly.
12489ca25a7fSDavid E. O'Brien
12499ca25a7fSDavid E. O'Brien1999-10-12  Paul Eggert
12509ca25a7fSDavid E. O'Brien
12519ca25a7fSDavid E. O'Brien	* doc/grep.texi: Shorten the commentary about egrep and {.
12529ca25a7fSDavid E. O'Brien	"BSD grep" -> "traditional grep".
12539ca25a7fSDavid E. O'Brien	* doc/grep.1: Match recent changes to grep.texi.
12549ca25a7fSDavid E. O'Brien
12559ca25a7fSDavid E. O'Brien1999-10-11  Paul Eggert
12569ca25a7fSDavid E. O'Brien
12579ca25a7fSDavid E. O'Brien	* NEWS, doc/grep.1, doc/grep.texi: New option --mmap.
12589ca25a7fSDavid E. O'Brien	* src/grep.c (mmap_option): New variable.
12599ca25a7fSDavid E. O'Brien	(long_options, reset, usage): Add --mmap.
12609ca25a7fSDavid E. O'Brien	Default is now read, not mmap.
12619ca25a7fSDavid E. O'Brien
12629ca25a7fSDavid E. O'Brien	* doc/grep.1: Document -Z or --null.
12639ca25a7fSDavid E. O'Brien
12649ca25a7fSDavid E. O'Brien1999-10-11  Paul Eggert
12659ca25a7fSDavid E. O'Brien
12669ca25a7fSDavid E. O'Brien	* doc/grep.texi: Fix texinfo glitches.  POSIX -> POSIX.2 where
12679ca25a7fSDavid E. O'Brien	appropriate.
12689ca25a7fSDavid E. O'Brien
12699ca25a7fSDavid E. O'Brien1999-10-11  Paul Eggert
12709ca25a7fSDavid E. O'Brien
12719ca25a7fSDavid E. O'Brien	* acconfig.h (ssize_t): New #undef.
12729ca25a7fSDavid E. O'Brien
12739ca25a7fSDavid E. O'Brien	* configure.in (AC_CHECK_TYPE): Add ssize_t.
12749ca25a7fSDavid E. O'Brien
12759ca25a7fSDavid E. O'Brien	* src/grep.c (PREFERRED_SAVE_FACTOR): New macro.
12769ca25a7fSDavid E. O'Brien	(reset): If the buffer has already been allocated, set bufsalloc to
12779ca25a7fSDavid E. O'Brien	be bufalloc / PREFERRED_SAVE_FACTOR.  This avoids problems when
12789ca25a7fSDavid E. O'Brien	bufsalloc == bufalloc (possible after reading a large binary file).
12799ca25a7fSDavid E. O'Brien	(reset): Use PREFERRED_SAVE_FACTOR instead of magic constant.
12809ca25a7fSDavid E. O'Brien	Do not set bufbeg; nobody uses it.
12819ca25a7fSDavid E. O'Brien	Always set buflim.
12829ca25a7fSDavid E. O'Brien	Check for lseek error.
12839ca25a7fSDavid E. O'Brien	Use SEEK_CUR, not a magic constant.
12849ca25a7fSDavid E. O'Brien	(fillbuf): Return an error indication, not a count.
12859ca25a7fSDavid E. O'Brien	All callers changed.
12869ca25a7fSDavid E. O'Brien	Do not assume ssize_t fits in int.
12879ca25a7fSDavid E. O'Brien	Use PREFERRED_SAVE_FACTOR instead of magic constant.
12889ca25a7fSDavid E. O'Brien	Clean up mmap code.
12899ca25a7fSDavid E. O'Brien	Do not attempt to mmap zero bytes.
12909ca25a7fSDavid E. O'Brien	Check for lseek error.
12919ca25a7fSDavid E. O'Brien	Use SEEK_SET, not a magic constant.
12929ca25a7fSDavid E. O'Brien	Work correctly if read is interrupted.
12939ca25a7fSDavid E. O'Brien	(grepfile): Work correctly if open or close is interrupted.
12949ca25a7fSDavid E. O'Brien
12959ca25a7fSDavid E. O'Brien	* src/system.h (SEEK_SET, SEEK_CUR): New macros.
12969ca25a7fSDavid E. O'Brien
12979ca25a7fSDavid E. O'Brien1999-10-02 Alain Magloire
12989ca25a7fSDavid E. O'Brien
12999ca25a7fSDavid E. O'Brien	* src/regex.[ch]: upgrade from GNU lib C source tree.
13009ca25a7fSDavid E. O'Brien
13019ca25a7fSDavid E. O'Brien	* make beta 2.3f available.
13029ca25a7fSDavid E. O'Brien
13039ca25a7fSDavid E. O'Brien1999-10-02  Paul Eggert
13049ca25a7fSDavid E. O'Brien
13059ca25a7fSDavid E. O'Brien	* NEWS: egrep is now equivalent to `grep -E'.
13069ca25a7fSDavid E. O'Brien	The lower bound of an interval is not optional.
13079ca25a7fSDavid E. O'Brien	You can specify a matcher multiple types without error.
13089ca25a7fSDavid E. O'Brien	-u and -U are now allowed on non-DOS hosts, and have no effect.
13099ca25a7fSDavid E. O'Brien	* doc/grep.texi: Likewise.
13109ca25a7fSDavid E. O'Brien	* doc/grep.1: Likewise.
13119ca25a7fSDavid E. O'Brien	Fix some troff bugs that prevented `groff' from rendering the page.
13129ca25a7fSDavid E. O'Brien
13139ca25a7fSDavid E. O'Brien	* src/egrepmat.c, src/fgrepmat.c, src/grepmat.c (default_matcher):
13149ca25a7fSDavid E. O'Brien	Remove.
13159ca25a7fSDavid E. O'Brien	(matcher): Add.
13169ca25a7fSDavid E. O'Brien	* src/grep.h (default_matcher): Remove.
13179ca25a7fSDavid E. O'Brien	(matcher): Now exported from ?grepmat.c, not grep.c.
13189ca25a7fSDavid E. O'Brien
13199ca25a7fSDavid E. O'Brien	* src/dfa.c (lex): If { would start an invalid interval specification,
13209ca25a7fSDavid E. O'Brien        treat it as a normal character.
13219ca25a7fSDavid E. O'Brien        Remove (broken) support for {,M} meaning {0,M}.
13229ca25a7fSDavid E. O'Brien        Diagnose bogus intervals like {1,0}.
13239ca25a7fSDavid E. O'Brien        (closure): maxrep is now -1 to indicate no limit, not zero;
13249ca25a7fSDavid E. O'Brien        zero is a valid value for maxrep, meaning an upper bound of zero.
13259ca25a7fSDavid E. O'Brien
13269ca25a7fSDavid E. O'Brien	* src/grep.c (short_options): New constant.
13279ca25a7fSDavid E. O'Brien	(long_options, main): -u and -U are now supported on Unix,
13289ca25a7fSDavid E. O'Brien	with no effect.
13299ca25a7fSDavid E. O'Brien	(matcher): Removed; now defined by ?grepmat.c.
13309ca25a7fSDavid E. O'Brien	(install_matcher): Renamed from setmatcher.
13319ca25a7fSDavid E. O'Brien	(setmatcher): New function.
13329ca25a7fSDavid E. O'Brien	(usage): Report new, more uniform option scheme.
13339ca25a7fSDavid E. O'Brien	(main): Do not initialize matcher; ?grepmat.c now does this.
13349ca25a7fSDavid E. O'Brien	Rely on setmatcher to catch matcher conflicts.
13359ca25a7fSDavid E. O'Brien	Default matcher is "grep".
13369ca25a7fSDavid E. O'Brien
13379ca25a7fSDavid E. O'Brien	* src/search.c (matchers):
13389ca25a7fSDavid E. O'Brien	Remove "posix-egrep" matcher; no longer needed.
13399ca25a7fSDavid E. O'Brien	(Ecompile): Likewise.
13409ca25a7fSDavid E. O'Brien	The egrep matcher now has POSIX behavior.
13419ca25a7fSDavid E. O'Brien
13429ca25a7fSDavid E. O'Brien	* tests/bre.tests: grep '\{' is no longer an error.
13439ca25a7fSDavid E. O'Brien	Fix test for interval too large, and enable it.
13449ca25a7fSDavid E. O'Brien	* tests/ere.tests: grep -E {1 is no longer an error
13459ca25a7fSDavid E. O'Brien	Likewise for a{1, a{1a, a{1a}, a{1,x}.
13469ca25a7fSDavid E. O'Brien
13479ca25a7fSDavid E. O'Brien1999-09-22  Paul Eggert
13489ca25a7fSDavid E. O'Brien
13499ca25a7fSDavid E. O'Brien	* largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
13509ca25a7fSDavid E. O'Brien	2.95.1 bug with HP-UX 10.20.
13519ca25a7fSDavid E. O'Brien
13529ca25a7fSDavid E. O'Brien1999-09-12  Paul Eggert
13539ca25a7fSDavid E. O'Brien
13549ca25a7fSDavid E. O'Brien	* src/grep.c (fillbuf): Fix typo: we sometimes reported
13559ca25a7fSDavid E. O'Brien	arithmetic overflow even when there wasn't any.
13569ca25a7fSDavid E. O'Brien
13579ca25a7fSDavid E. O'Brien1999-09-12  Paul Eggert
13589ca25a7fSDavid E. O'Brien
13599ca25a7fSDavid E. O'Brien	* configure.in (AC_CHECK_FUNCS): Add memmove.
13609ca25a7fSDavid E. O'Brien
13619ca25a7fSDavid E. O'Brien	* src/system.h (S_ISREG): New macro.
13629ca25a7fSDavid E. O'Brien	(memmove): Define if ! defined HAVE_MEMMOVE && ! defined memmove,
13639ca25a7fSDavid E. O'Brien	not if !defined STDC_HEADERS.  This is needed for SunOS 4.1.4,
13649ca25a7fSDavid E. O'Brien	which defines STDC_HEADERS but lacks memmove.
13659ca25a7fSDavid E. O'Brien
13669ca25a7fSDavid E. O'Brien	* src/grep.c (bufoffset): Needed even if !defined HAVE_MMAP.
13679ca25a7fSDavid E. O'Brien	(reset): Always fstat the file, since we always need its size if it is
13689ca25a7fSDavid E. O'Brien	regular.
13699ca25a7fSDavid E. O'Brien	Similarly, get the buffer offset of every regular file.
13709ca25a7fSDavid E. O'Brien	Set bufmapped to 0 if the file's initial offset is not a multiple
13719ca25a7fSDavid E. O'Brien	of the page size.
13729ca25a7fSDavid E. O'Brien	(fillbuf): Calculate an upper bound on how much memory we should
13739ca25a7fSDavid E. O'Brien	allocate only for regular files, since we don't know the sizes of
13749ca25a7fSDavid E. O'Brien	other files.
13759ca25a7fSDavid E. O'Brien	Don't bother to check whether the file offset is a multiple of the page
13769ca25a7fSDavid E. O'Brien	size, since we now do that just once in `reset'.
13779ca25a7fSDavid E. O'Brien	When an mmapped area would fall past the end of the file, trim it to
13789ca25a7fSDavid E. O'Brien	just before instead of giving up immediately and doing a `read';
13799ca25a7fSDavid E. O'Brien	that avoids a worst-case behavior that could read half an mmapped file.
13809ca25a7fSDavid E. O'Brien	Fix bug when computing offsets on hosts that don't have mmap.
13819ca25a7fSDavid E. O'Brien
13829ca25a7fSDavid E. O'Brien1999-08-27  Paul Eggert
13839ca25a7fSDavid E. O'Brien
13849ca25a7fSDavid E. O'Brien	* src/system.h (memmove): New macro.
13859ca25a7fSDavid E. O'Brien
13869ca25a7fSDavid E. O'Brien	* src/grep.c (page_alloc): Reallocate the old buffer instead
13879ca25a7fSDavid E. O'Brien	of having both old and new buffers active simultaneously.
13889ca25a7fSDavid E. O'Brien	Remove valloc debugging variant, which no longer applies.
13899ca25a7fSDavid E. O'Brien
13909ca25a7fSDavid E. O'Brien	(fillbuf): Rejigger the buffer allocation mechanism.  The old
13919ca25a7fSDavid E. O'Brien	mechanism could allocate more than 10*N bytes for an N-byte
13929ca25a7fSDavid E. O'Brien	file, which was excessive.  Check for arithmetic overflow a
13939ca25a7fSDavid E. O'Brien	bit more carefully.
13949ca25a7fSDavid E. O'Brien
13959ca25a7fSDavid E. O'Brien1999-08-25  Paul Eggert
13969ca25a7fSDavid E. O'Brien
13979ca25a7fSDavid E. O'Brien	* src/grep.c (grepdir):
13989ca25a7fSDavid E. O'Brien	Don't assume that st_ino and st_dev must be integers;
13999ca25a7fSDavid E. O'Brien	POSIX.1 allows them to be floating-point (!).
14009ca25a7fSDavid E. O'Brien
14019ca25a7fSDavid E. O'Brien	* src/vms_fab.h (arr_ptr): `:' -> `;' to fix typo.
14029ca25a7fSDavid E. O'Brien
14039ca25a7fSDavid E. O'Brien1999-08-18  Alain Magloire
14049ca25a7fSDavid E. O'Brien
14059ca25a7fSDavid E. O'Brien	* 2.3e snapshot.
14069ca25a7fSDavid E. O'Brien
14079ca25a7fSDavid E. O'Brien1999-08-18  Alain Magloire
14089ca25a7fSDavid E. O'Brien
14099ca25a7fSDavid E. O'Brien	* src/search.c: On a CRAY J90 system running UNICOS 8.0.
14109ca25a7fSDavid E. O'Brien	Compilation of ./src/search.c failed because the declaration of
14119ca25a7fSDavid E. O'Brien	the variable "regex":
14129ca25a7fSDavid E. O'Brien	  static struct re_pattern_buffer regex;
14139ca25a7fSDavid E. O'Brien	conflicted with a previous declaration search.c #includes "system.h",
14149ca25a7fSDavid E. O'Brien	which #includes <stdlib.h>, which declares :
14159ca25a7fSDavid E. O'Brien        extern char *regex __((char *_Re, char *_Subject, ...));
14169ca25a7fSDavid E. O'Brien	The declaration in search.c is local to that one source file.
14179ca25a7fSDavid E. O'Brien	I just changed its name to something less likely to conflict.
14189ca25a7fSDavid E. O'Brien	(I called it "regexbuf", but you could pick any name you want.)
14199ca25a7fSDavid E. O'Brien	Excerpt email from Dean Kopesky.
14209ca25a7fSDavid E. O'Brien
14219ca25a7fSDavid E. O'Brien1999-08-16  Paul Eggert
14229ca25a7fSDavid E. O'Brien
14239ca25a7fSDavid E. O'Brien	Upgrade large-file support to the version used in tar and
14249ca25a7fSDavid E. O'Brien	textutils.
14259ca25a7fSDavid E. O'Brien
14269ca25a7fSDavid E. O'Brien	* Makefile.am (ACLOCAL_AMFLAGS): Define to be empty.
14279ca25a7fSDavid E. O'Brien	(M4DIR, ACINCLUDE_INPUTS): New macros.
14289ca25a7fSDavid E. O'Brien	($(srcdir)/acinclude.m4): New rule.
14299ca25a7fSDavid E. O'Brien
14309ca25a7fSDavid E. O'Brien	* configure.in (AC_CANONICAL_HOST, AM_C_PROTOTYPES): Add.
14319ca25a7fSDavid E. O'Brien	(AC_SYS_LARGEFILE): Renamed from AC_LFS, for compatibility
14329ca25a7fSDavid E. O'Brien	with what should appear in the next autoconf release.
14339ca25a7fSDavid E. O'Brien
14349ca25a7fSDavid E. O'Brien	* m4/largefile.m4: Renamed from m4/lfs.m4.
14359ca25a7fSDavid E. O'Brien
14369ca25a7fSDavid E. O'Brien	* src/ansi2knr.1, src/ansi2knr.c, config.guess, config.sub:
14379ca25a7fSDavid E. O'Brien	New files.  config.guess and config.sub ar needed by the new
14389ca25a7fSDavid E. O'Brien	AC_SYS_LARGEFILE.  ansi2knr is needed by AM_C_PROTOTYPES,
14399ca25a7fSDavid E. O'Brien	which in turn is needed by the new AC_SYS_LARGEFILE.
14409ca25a7fSDavid E. O'Brien
14419ca25a7fSDavid E. O'Brien1999-08-16  Alain Magloire
14429ca25a7fSDavid E. O'Brien
14439ca25a7fSDavid E. O'Brien	* 2.3d snapshot on ftp server.
14449ca25a7fSDavid E. O'Brien
14459ca25a7fSDavid E. O'Brien1999-07-26  Paul Eggert
14469ca25a7fSDavid E. O'Brien
14479ca25a7fSDavid E. O'BrienSeveral GNU tools have options to process arbitrary file names, even
14489ca25a7fSDavid E. O'Brienfile names that contain newline characters.  These include `find
14499ca25a7fSDavid E. O'Brien-print0', `perl -0', `sort -z', and `xargs -0'.  It'd be handy if GNU
14509ca25a7fSDavid E. O'Briengrep also processed such file names.  Here's a proposed patch to do
14519ca25a7fSDavid E. O'Brienthis, relative to grep 2.3c.  This patch introduces two options, one
14529ca25a7fSDavid E. O'Brienfor the data, and one for the file names.  (Sometimes one wants
14539ca25a7fSDavid E. O'Briennull-terminated file names in the output, and sometimes one wants to
14549ca25a7fSDavid E. O'Brienprocess lists of null-terminated strings, and these are orthogonal
14559ca25a7fSDavid E. O'Brienaxes.)
14569ca25a7fSDavid E. O'Brien
14579ca25a7fSDavid E. O'Brien        * NEWS, doc/grep.texi: New -z or --null-data and -Z or --null options.
14589ca25a7fSDavid E. O'Brien        * src/grep.c (long_options, usage, main): Likewise.
14599ca25a7fSDavid E. O'Brien
14609ca25a7fSDavid E. O'Brien        * src/dfa.h (dfasyntax): New eol parameter.
14619ca25a7fSDavid E. O'Brien        * src/dfa.c (eolbyte): New var.
14629ca25a7fSDavid E. O'Brien        (dfasyntax): Set it from new parameter.
14639ca25a7fSDavid E. O'Brien        (lex, dfastat, build_state, dfaexec): Use it instead of '\n'.
14649ca25a7fSDavid E. O'Brien
14659ca25a7fSDavid E. O'Brien        * src/grep.h (eolbyte): New decl.
14669ca25a7fSDavid E. O'Brien        * src/grep.c (eolbyte): New var.
14679ca25a7fSDavid E. O'Brien        (nlscan, prpending, prtext, grepbuf, grep): Use it instead of '\n'.
14689ca25a7fSDavid E. O'Brien        (filename_mask): New var.
14699ca25a7fSDavid E. O'Brien        (prline, grepfile): Output NUL separator if filename_mask is zero.
14709ca25a7fSDavid E. O'Brien        (grep): Look for '\200' as the hallmark of a binary file, not '\0',
14719ca25a7fSDavid E. O'Brien        if -z or --null-data is specified, since it implies that '\0' is
14729ca25a7fSDavid E. O'Brien        expected as text.
14739ca25a7fSDavid E. O'Brien
14749ca25a7fSDavid E. O'Brien        * src/search.c (Gcompile, Ecompile): Pass eolbyte to dfasyntax.
14759ca25a7fSDavid E. O'Brien        (EGexecute, Fexecute): Use eolbyte instead of '\n'.
14769ca25a7fSDavid E. O'Brien
14779ca25a7fSDavid E. O'Brien1999-06-15 Alain Magloire
14789ca25a7fSDavid E. O'Brien
14799ca25a7fSDavid E. O'Brien	* src/grep.c, doc/grep{1,texi} :
14809ca25a7fSDavid E. O'Brien	--revert-match should be --invert-match.
14819ca25a7fSDavid E. O'Brien	Correction proposed by Karl Berry.
14829ca25a7fSDavid E. O'Brien
14839ca25a7fSDavid E. O'Brien1999-06-12 Alain Magloire
14849ca25a7fSDavid E. O'Brien
14859ca25a7fSDavid E. O'Brien	* doc/grep.{1,texi}: add description for --with-filename.
14869ca25a7fSDavid E. O'Brien	Noted missing by UEBAYASHI Masao.
14879ca25a7fSDavid E. O'Brien
14889ca25a7fSDavid E. O'Brien1999-03-17 Paul Eggert
14899ca25a7fSDavid E. O'Brien
14909ca25a7fSDavid E. O'Brien	* NEWS: Add GREP_OPTIONS.
14919ca25a7fSDavid E. O'Brien
14929ca25a7fSDavid E. O'Brien	* doc/grep.texi: Document GREP_OPTIONS, and the other
14939ca25a7fSDavid E. O'Brien	environment variables.  Fix doc for [:blank:], [:cntrl:], [:punct:].
14949ca25a7fSDavid E. O'Brien
14959ca25a7fSDavid E. O'Brien	* src/grep.c (prepend_args, prepend_default_options): New functions.
14969ca25a7fSDavid E. O'Brien	(main): Use them to implement GREP_OPTIONS.
14979ca25a7fSDavid E. O'Brien	* src/system.h (getenv): New decl.
14989ca25a7fSDavid E. O'Brien
14999ca25a7fSDavid E. O'Brien1999-03-16 Volker Borchert
15009ca25a7fSDavid E. O'Brien
15019ca25a7fSDavid E. O'Brien	* configure.in: Use case case ... esac for  checking Visual C++.
15029ca25a7fSDavid E. O'Brien	When ${CC} contains options it was not recognize.
15039ca25a7fSDavid E. O'Brien
15049ca25a7fSDavid E. O'Brien1999-03-07 Paul Eggert
15059ca25a7fSDavid E. O'Brien
15069ca25a7fSDavid E. O'Brien	* src/grep.c (usage): Don't report -E, -F, and -G unless we're grep.
15079ca25a7fSDavid E. O'Brien	(main): Don't match options -E, -F, and -G unless we're grep.
15089ca25a7fSDavid E. O'Brien	Remove after-the-fact check for options -E, -F, and -G, since
15099ca25a7fSDavid E. O'Brien	they're no longer needed.
15109ca25a7fSDavid E. O'Brien
15119ca25a7fSDavid E. O'Brien1999-03-05  Eli Zaretskii
15129ca25a7fSDavid E. O'Brien
15139ca25a7fSDavid E. O'Brien	* src/grep.c (main): Print the name of the default matcher instead
15149ca25a7fSDavid E. O'Brien	of just "grep".
15159ca25a7fSDavid E. O'Brien
15169ca25a7fSDavid E. O'Brien1999-02-06 Alain Magloire
15179ca25a7fSDavid E. O'Brien
15189ca25a7fSDavid E. O'Brien	* tests/*.awk : Linux users are seeing "Broken Pipe" on make check.
15199ca25a7fSDavid E. O'Brien	The problem is that grep does not drain its stdin, thus the previous
15209ca25a7fSDavid E. O'Brien	process in the pipeline receives a SIGPIPE.  Other shells are silent
15219ca25a7fSDavid E. O'Brien	about this.  There is actually no failure, since the broken pipe is
15229ca25a7fSDavid E. O'Brien	expected.  You can work around it by changing the pipeline, so that
15239ca25a7fSDavid E. O'Brien	the input is drained, like this:
15249ca25a7fSDavid E. O'Brien	status=`echo 'check' | { ${GREP} -E -e pattern >/dev/null 2>&1;
15259ca25a7fSDavid E. O'Brien	echo $?; cat >/dev/null; }`; if test $status -ne $errnu then ... fi
15269ca25a7fSDavid E. O'Brien	Excerpt email from Andreas Schwab.
15279ca25a7fSDavid E. O'Brien
15289ca25a7fSDavid E. O'Brien1999-02-23 Alain Magloire
15299ca25a7fSDavid E. O'Brien
15309ca25a7fSDavid E. O'Brien	* src/grep.c : Restrict the use of -E, -F, -G
15319ca25a7fSDavid E. O'Brien	to only grep driver, Posix behaviour. {f,e}grep
15329ca25a7fSDavid E. O'Brien	the matcher is already set. This change may brake
15339ca25a7fSDavid E. O'Brien	scripts, warn in NEWS.
15349ca25a7fSDavid E. O'Brien
15359ca25a7fSDavid E. O'Brien	* doc/grep.{1,texi} : -C takes arguments, upgrade manual.
15369ca25a7fSDavid E. O'Brien
15379ca25a7fSDavid E. O'Brien	* beta 2.3a
15389ca25a7fSDavid E. O'Brien
15399ca25a7fSDavid E. O'Brien1999-02-23 Alain Magloire
15409ca25a7fSDavid E. O'Brien
15419ca25a7fSDavid E. O'Brien	* configure.in : Change the configure VC test from
15429ca25a7fSDavid E. O'Brien	'test x$ac_cv_prog_CC = xcl;' to 'test x"$ac_cv_prog_CC" = xcl;'
15439ca25a7fSDavid E. O'Brien	Email from Joshua R. Poulson.
15449ca25a7fSDavid E. O'Brien
15459ca25a7fSDavid E. O'Brien1999-02-23 Paul Eggert
15469ca25a7fSDavid E. O'Brien
15479ca25a7fSDavid E. O'Brien	Fix porting bug reported by Amakawa Shuhei for SunOS 4.1.4-JL.
15489ca25a7fSDavid E. O'Brien	The btowc.c shipped with grep 2.3 is incorrect for Solaris
15499ca25a7fSDavid E. O'Brien	2.5.1 and earlier, as it assumes UTF8, which these OSes do not
15509ca25a7fSDavid E. O'Brien	support.  Solaris 7 supports btowc, so there's no need to ship
15519ca25a7fSDavid E. O'Brien	a substitute for it.  The only questionable case is Solaris
15529ca25a7fSDavid E. O'Brien	2.6, which lacks btowc but does support UTF8.  However, 2.6
15539ca25a7fSDavid E. O'Brien	supports UTF8 but only as a demonstration (for an English
15549ca25a7fSDavid E. O'Brien	locale!); Japanese Solaris 2.6 users typically use EUC, or
15559ca25a7fSDavid E. O'Brien	sometimes shift-JIS, but they cannot use UTF8 since Japanese
15569ca25a7fSDavid E. O'Brien	UTF8 is not supported.  Hence there's no point to having grep
15579ca25a7fSDavid E. O'Brien	substitute a btowc that uses UTF8, as it is either redundant,
15589ca25a7fSDavid E. O'Brien	or it will almost invariably have incorrect behavior.
15599ca25a7fSDavid E. O'Brien
15609ca25a7fSDavid E. O'Brien	* configure.in (AC_CHECK_HEADERS): Don't set USE_WCHAR.
15619ca25a7fSDavid E. O'Brien	(AC_CHECK_FUNCS): Add btowc, wctype.
15629ca25a7fSDavid E. O'Brien	(AC_REPLACE_FUNCS): Don't replace btowc; our replacement is
15639ca25a7fSDavid E. O'Brien	invariably doing the wrong thing anyway, at least on SunOS/Solaris.
15649ca25a7fSDavid E. O'Brien	Don't bother to check for wctype in -lw, as we don't support
15659ca25a7fSDavid E. O'Brien	wide characters on Solaris 2.5.1 or earlier anyway.
15669ca25a7fSDavid E. O'Brien
15679ca25a7fSDavid E. O'Brien	* bootstrap/Makefile.try (OBJS): Remove btowc.$(OBJEXT).
15689ca25a7fSDavid E. O'Brien
15699ca25a7fSDavid E. O'Brien	* src/btowc.c: Removed; no longer needed.
15709ca25a7fSDavid E. O'Brien
15719ca25a7fSDavid E. O'Brien1999-02-19  Paul Eggert
15729ca25a7fSDavid E. O'Brien
15739ca25a7fSDavid E. O'Brien	* NEWS: Fix typo when talking about the old behavior of
15749ca25a7fSDavid E. O'Brien	silently skipping directories; it was grep 2.1, not grep 2.2.
15759ca25a7fSDavid E. O'Brien
15769ca25a7fSDavid E. O'Brien1999-02-15 Alain Magloire
15779ca25a7fSDavid E. O'Brien
15789ca25a7fSDavid E. O'Brien	* bootstrap/Makefile.try : add DJGPP DEFS.
15799ca25a7fSDavid E. O'Brien	Done by Elie Zaretsckii.
15809ca25a7fSDavid E. O'Brien
1581fc9e6f42SDavid E. O'Brien1999-02-14 Alain Magloire
1582fc9e6f42SDavid E. O'Brien
1583fc9e6f42SDavid E. O'Brien	* m4/gettext.m4 : Guard [] with changequote.
1584fc9e6f42SDavid E. O'Brien	From Elie Zaretskii.
1585fc9e6f42SDavid E. O'Brien
1586fc9e6f42SDavid E. O'Brien	* djgpp/config.bat : Makefile.in.in --> Makefile.in-in
1587fc9e6f42SDavid E. O'Brien	From Elie Zaretskii.
1588fc9e6f42SDavid E. O'Brien
1589fc9e6f42SDavid E. O'Brien	* src/dosbuf: k&r function parameter.
1590fc9e6f42SDavid E. O'Brien
1591fc9e6f42SDavid E. O'Brien	* release of 2.3.
1592fc9e6f42SDavid E. O'Brien
1593fc9e6f42SDavid E. O'Brien1999-02-10 Alain Magloire
1594fc9e6f42SDavid E. O'Brien
1595fc9e6f42SDavid E. O'Brien	* bootstrap/{Makefile{try,am},REAMDE} : skeleton
1596fc9e6f42SDavid E. O'Brien	provided for system lacking the tools to autoconfigure.
1597fc9e6f42SDavid E. O'Brien
1598fc9e6f42SDavid E. O'Brien	* src/{e,f,}grepmat.c: added guard [HAVE_CONFIG_H]
1599fc9e6f42SDavid E. O'Brien
1600fc9e6f42SDavid E. O'Brien1999-02-10 Alain Magloire
1601fc9e6f42SDavid E. O'Brien
1602fc9e6f42SDavid E. O'Brien	* PATCHES-AC, PATCHES-AM: updated.
1603fc9e6f42SDavid E. O'Brien
1604fc9e6f42SDavid E. O'Brien	* m4/regex.m4 : updated.
1605fc9e6f42SDavid E. O'Brien
1606fc9e6f42SDavid E. O'Brien1999-02-05 Eli Zaretskii
1607fc9e6f42SDavid E. O'Brien
1608fc9e6f42SDavid E. O'Brien	* m4/gettext.m4 : Support DOS-style D:/foo/bar absolute file
1609fc9e6f42SDavid E. O'Brien	names.
1610fc9e6f42SDavid E. O'Brien
1611fc9e6f42SDavid E. O'Brien	* aclocal.m4 (DJGPP) : Use $DJ_GPP instead, since changing the
1612fc9e6f42SDavid E. O'Brien	latter prevents GCC from finding headers and libraries.
1613fc9e6f42SDavid E. O'Brien
1614fc9e6f42SDavid E. O'Brien	* djgpp/config.bat: Make building from another directory work
1615fc9e6f42SDavid E. O'Brien
1616fc9e6f42SDavid E. O'Brien	* djgpp/config.sed: Remove redundant command wich edited path
1617fc9e6f42SDavid E. O'Brien	separator: now done by configure.
1618fc9e6f42SDavid E. O'Brien
1619fc9e6f42SDavid E. O'Brien	* src/grep.c [O_BINARY]: Add prototype for undossify_input.
1620fc9e6f42SDavid E. O'Brien
1621fc9e6f42SDavid E. O'Brien	* doc/grep.texi (Introduction): Typo fixed.
1622fc9e6f42SDavid E. O'Brien
1623fc9e6f42SDavid E. O'Brien1999-02-03 Alain Magloire
1624fc9e6f42SDavid E. O'Brien
1625fc9e6f42SDavid E. O'Brien	* grep-2.2f beta release.
1626fc9e6f42SDavid E. O'Brien
1627fc9e6f42SDavid E. O'Brien1999-02-02 Alain Magloire
1628fc9e6f42SDavid E. O'Brien
1629fc9e6f42SDavid E. O'Brien	* m4/{djgpp,envsep,glibc,regex,dosfile,isc-posix}.m4 :
1630fc9e6f42SDavid E. O'Brien	New files to aid configuration and unload configure.in.
1631fc9e6f42SDavid E. O'Brien	* m4/Makefile.am : updated.
1632fc9e6f42SDavid E. O'Brien	* src/btowc.c : protect for wchar.h
1633fc9e6f42SDavid E. O'Brien
1634fc9e6f42SDavid E. O'Brien1999-01-28 Alain Magloire
1635fc9e6f42SDavid E. O'Brien
1636fc9e6f42SDavid E. O'Brien	* intl/Makefile.in: Replace .o with .${ac_objext} where necessary.
1637fc9e6f42SDavid E. O'Brien	Work around a limitation of Visual C++ on Cygwin32.
1638fc9e6f42SDavid E. O'Brien	* acconfig.h configure.in: Define `alloca' as `_alloca' when CC=cl.
1639fc9e6f42SDavid E. O'Brien	This little hack was suggested by Ian Roxborough <[email protected]>.
1640fc9e6f42SDavid E. O'Brien	Patch forwarded by Ben Elliston.
1641fc9e6f42SDavid E. O'Brien
1642fc9e6f42SDavid E. O'Brien1999-01-28 Alain Magloire
1643fc9e6f42SDavid E. O'Brien
1644fc9e6f42SDavid E. O'Brien	* PATCHES-AM: New file. A small patch for automake-1.4, use $(sep)
1645fc9e6f42SDavid E. O'Brien	as the path separator base on @SEP@.
1646fc9e6f42SDavid E. O'Brien	* PATCHES-AC configure.in : updated for autoconf-13.
1647fc9e6f42SDavid E. O'Brien
1648fc9e6f42SDavid E. O'Brien1999-01-27 Volker Borchert
1649fc9e6f42SDavid E. O'Brien
1650fc9e6f42SDavid E. O'Brien	* grep.c: fgrep -NUM not working correctly.
1651fc9e6f42SDavid E. O'Brien	add the argument number to digit_args_val.
1652fc9e6f42SDavid E. O'Brien
1653fc9e6f42SDavid E. O'Brien1999-01-22 Paul Eggert
1654fc9e6f42SDavid E. O'Brien
1655fc9e6f42SDavid E. O'Brien	Prevent grep -r from recursing infinitely through directory loops via
1656fc9e6f42SDavid E. O'Brien	symbolic links.
1657fc9e6f42SDavid E. O'Brien
1658fc9e6f42SDavid E. O'Brien	* grep.c (struct stats): New type.
1659fc9e6f42SDavid E. O'Brien	(stats_base): New var.
1660fc9e6f42SDavid E. O'Brien	(bufstat): Remove; subsumed by stats->stat.
1661fc9e6f42SDavid E. O'Brien	(reset, fillbuf, grep, grepdir, grepfile): Pass struct stats * arg,
1662fc9e6f42SDavid E. O'Brien	for directory loop checking; use this instead of the bufstat global.
1663fc9e6f42SDavid E. O'Brien	All callers changed.
1664fc9e6f42SDavid E. O'Brien	(grepfile): Stat the file before invoking grepdir.
1665fc9e6f42SDavid E. O'Brien	(grepdir): Assume that the argument has already been statted.
1666fc9e6f42SDavid E. O'Brien	No longer a need for a directory size argument, since it
1667fc9e6f42SDavid E. O'Brien	can be gotten from the struct stats * argument.
1668fc9e6f42SDavid E. O'Brien	Check for directory loops.
1669fc9e6f42SDavid E. O'Brien	Create linked list of directories currently being visited,
1670fc9e6f42SDavid E. O'Brien	to detect loops.
1671fc9e6f42SDavid E. O'Brien
1672fc9e6f42SDavid E. O'Brien1998-12-29 Kaveh R. Ghazi
1673fc9e6f42SDavid E. O'Brien
1674fc9e6f42SDavid E. O'Brien	intl/localealias.c: When building grep-2.2e using cc on Irix4,
1675fc9e6f42SDavid E. O'Brien	I needed the following patch to intl/localealias.c.
1676fc9e6f42SDavid E. O'Brien	(Its the same patch used by fileutils-4.0.) The patch resolves
1677fc9e6f42SDavid E. O'Brien	conflicts between char* and unsigned char* in the i18n code.
1678fc9e6f42SDavid E. O'Brien
1679fc9e6f42SDavid E. O'Brien1998-12-10 Alain Magloire
1680fc9e6f42SDavid E. O'Brien
1681fc9e6f42SDavid E. O'Brien	* src/grep.c : Typo in contex -->context
1682fc9e6f42SDavid E. O'Brien	Noted by  Vladimir Michl.
1683fc9e6f42SDavid E. O'Brien
1684fc9e6f42SDavid E. O'Brien1998-12-01  Alain Magloire
1685fc9e6f42SDavid E. O'Brien
1686fc9e6f42SDavid E. O'Brien	* doc/Makefile.am djgpp/Makefile.am m4/Makefile.am vms/Makefile.am:
1687fc9e6f42SDavid E. O'Brien	New files.
1688fc9e6f42SDavid E. O'Brien
1689fc9e6f42SDavid E. O'Brien	* m4/progtest.m4: proctect '[]' from m4.
1690fc9e6f42SDavid E. O'Brien	Noted by Eli Z.
1691fc9e6f42SDavid E. O'Brien
1692fc9e6f42SDavid E. O'Brien	* PATCHES-AC: New file, add the patch for autoconf in the dist.
1693fc9e6f42SDavid E. O'Brien
1694fc9e6f42SDavid E. O'Brien	* acconfig.h: (HAVE_DOS_FILENAME)
1695fc9e6f42SDavid E. O'Brien
1696fc9e6f42SDavid E. O'Brien	* TODO: updated.
1697fc9e6f42SDavid E. O'Brien
1698fc9e6f42SDavid E. O'Brien	* src/search.c: remove obsolete 'gegrep,ggrep,gnugrep'
1699fc9e6f42SDavid E. O'Brien	matchers. grep no longer depend on argv[0].
1700fc9e6f42SDavid E. O'Brien
1701fc9e6f42SDavid E. O'Brien	* grep-2.2e beta to test DJGPP port.
1702fc9e6f42SDavid E. O'Brien
1703fc9e6f42SDavid E. O'Brien1998-11-28  Paul Eggert
1704fc9e6f42SDavid E. O'Brien
1705fc9e6f42SDavid E. O'Brien	Various portability enhancements:
1706fc9e6f42SDavid E. O'Brien	- Don't assume that O_BINARY implies DOS.  Use separate
1707fc9e6f42SDavid E. O'Brien	macros D_OK (for DOS-like directory access) and
1708fc9e6f42SDavid E. O'Brien	HAVE_DOS_FILE_NAMES (for DOS-like file names).
1709fc9e6f42SDavid E. O'Brien	- Don't assume that off_t fits into long; it doesn't on Solaris 2.6.
1710fc9e6f42SDavid E. O'Brien	- Have is_EISDIR set errno properly on hosts with screwed-up EISDIR.
1711fc9e6f42SDavid E. O'Brien	- Treat ':' specially in DOS file names only if it's the end of a
1712fc9e6f42SDavid E. O'Brien	drive specifier.
1713fc9e6f42SDavid E. O'Brien	- Protect against errno < 0.
1714fc9e6f42SDavid E. O'Brien
1715fc9e6f42SDavid E. O'Brien	* src/grep.c (is_EISDIR): Move defn to system.h.
1716fc9e6f42SDavid E. O'Brien	(print_offset_sep): New function.
1717fc9e6f42SDavid E. O'Brien	(fillbuf): Remove redundant test of O_BINARY.
1718fc9e6f42SDavid E. O'Brien	(totalcc, totalnl): Now of type off_t.
1719fc9e6f42SDavid E. O'Brien	(prline): Use print_offset_sep to print file offsets.
1720fc9e6f42SDavid E. O'Brien	(grepfile): Don't set e to EISDIR; that's is_EISDIR's responsibility
1721fc9e6f42SDavid E. O'Brien	on machines that don't work properly with EISDIR.
1722fc9e6f42SDavid E. O'Brien	(grepdir): Don't assume ':' means slash on all DOS filenames;
1723fc9e6f42SDavid E. O'Brien	it means it only in the file prefix.
1724fc9e6f42SDavid E. O'Brien
1725fc9e6f42SDavid E. O'Brien	* src/system.h (strerror): Check for negative error numbers.
1726fc9e6f42SDavid E. O'Brien	(is_EISDIR): Depend on D_OK, not O_BINARY.
1727fc9e6f42SDavid E. O'Brien	(SET_BINARY): Depend on HAVE_SETMODE, not __DJGPP__.
1728fc9e6f42SDavid E. O'Brien	(IS_SLASH, FILESYSTEM_PREFIX_LEN): Depend on HAVE_DOS_FILE_NAMES,
1729fc9e6f42SDavid E. O'Brien	not O_BINARY.
1730fc9e6f42SDavid E. O'Brien	(CHAR_BIT): New macro.
1731fc9e6f42SDavid E. O'Brien
1732fc9e6f42SDavid E. O'Brien	* src/dosbuf.c (struct dos_map):
1733fc9e6f42SDavid E. O'Brien	pos and add members are now of type off_t.
1734fc9e6f42SDavid E. O'Brien	(dos_stripped_crs): Now of type off_t.
1735fc9e6f42SDavid E. O'Brien	(dossified_pos): Now accepts arg and returns value of type off_t.
1736fc9e6f42SDavid E. O'Brien
1737fc9e6f42SDavid E. O'Brien	* configure.in (AC_CHECK_FUNCS): Add setmode.
1738fc9e6f42SDavid E. O'Brien	(HAVE_DOS_FILENAMES): New macro
1739fc9e6f42SDavid E. O'Brien
1740fc9e6f42SDavid E. O'Brien1998-11-27  Eli Zaretskii
1741fc9e6f42SDavid E. O'Brien
1742fc9e6f42SDavid E. O'Brien	* djgpp/config.sed: New file, a Sed script to edit configure
1743fc9e6f42SDavid E. O'Brien	script before running it on DOS/Windows.
1744fc9e6f42SDavid E. O'Brien	* djgpp/config.bat: Updated to handle po2tbl.sed.in and
1745fc9e6f42SDavid E. O'Brien	po/Makefile.in.in on DOS filesystems, and to run config.sed.
1746fc9e6f42SDavid E. O'Brien
1747fc9e6f42SDavid E. O'Brien1998-11-24  Jim Meyering
1748fc9e6f42SDavid E. O'Brien
1749fc9e6f42SDavid E. O'Brien	* src/grep.c : Typo s/infalid/invalid/
1750fc9e6f42SDavid E. O'Brien	Also noted by Stanislav Brabec.
1751fc9e6f42SDavid E. O'Brien
1752fc9e6f42SDavid E. O'Brien1998-11-24  Eli Zaretskii
1753fc9e6f42SDavid E. O'Brien
1754fc9e6f42SDavid E. O'Brien	* doc/grep.texi: I found and corrected several typos.
1755fc9e6f42SDavid E. O'Brien	I believe the GNU standards require the section that describes the
1756fc9e6f42SDavid E. O'Brien	options to the programs to be called ``Invoking'' or ``Invoking
1757fc9e6f42SDavid E. O'Brien	<program-name>''.  This is so users and programs can easily find
1758fc9e6f42SDavid E. O'Brien	that node in any Info file.  So I changed the name of the
1759fc9e6f42SDavid E. O'Brien	`Options' chapter to `Invoking', and corrected the
1760fc9e6f42SDavid E. O'Brien	cross-references accordingly.
1761fc9e6f42SDavid E. O'Brien	I added some markup to things like file names and options.
1762fc9e6f42SDavid E. O'Brien	I added some additional index entries where that seemed useful.
1763fc9e6f42SDavid E. O'Brien	I also corrected some index entries, such as "@cindex [:alnum:]",
1764fc9e6f42SDavid E. O'Brien	which used a colon in them (the colons confuse Info readers).
1765fc9e6f42SDavid E. O'Brien
1766fc9e6f42SDavid E. O'Brien1998-11-24  Alain Magloire
1767fc9e6f42SDavid E. O'Brien
1768fc9e6f42SDavid E. O'Brien	* grep/doc/grep.texi : -h is not use for help.
1769fc9e6f42SDavid E. O'Brien	Nit spotted by Jim Meyering.
1770fc9e6f42SDavid E. O'Brien
1771fc9e6f42SDavid E. O'Brien1998-11-23  Alain Magloire
1772fc9e6f42SDavid E. O'Brien
1773fc9e6f42SDavid E. O'Brien	* doc: New directory, grep.1, {e,f}grep.man move here
1774fc9e6f42SDavid E. O'Brien	* doc/grep.texi: New info manual
1775fc9e6f42SDavid E. O'Brien	* doc/version.texi: New
1776fc9e6f42SDavid E. O'Brien	* doc/Makefile.am: New
1777fc9e6f42SDavid E. O'Brien	* tests/{ere,bre}.*: New files. The spencer2 test is split
1778fc9e6f42SDavid E. O'Brien	in two ere/bre.
1779fc9e6f42SDavid E. O'Brien	* config.hin: New, config.h.in rename to config.hin for OS
1780fc9e6f42SDavid E. O'Brien	with limited file system aka DOS.
1781fc9e6f42SDavid E. O'Brien
1782fc9e6f42SDavid E. O'Brien	* grep-2.2d release for beta.
1783fc9e6f42SDavid E. O'Brien
1784fc9e6f42SDavid E. O'Brien1998-11-18  Alain Magloire
1785fc9e6f42SDavid E. O'Brien
1786fc9e6f42SDavid E. O'Brien	* src/regex.[ch] : Updated from GLibc, previous patches were
1787fc9e6f42SDavid E. O'Brien	integrate by Ulrich Drepper and some added ones.
1788fc9e6f42SDavid E. O'Brien
1789fc9e6f42SDavid E. O'Brien1998-11-16  Paul Eggert
1790fc9e6f42SDavid E. O'Brien
1791fc9e6f42SDavid E. O'Brien	* grep.h (__attribute__): New macro, if not GCC.
1792fc9e6f42SDavid E. O'Brien	(fatal): Add __attribute__((noreturn)).
1793fc9e6f42SDavid E. O'Brien	* grep.c (usage): Add __attribute__((noreturn)).
1794fc9e6f42SDavid E. O'Brien
1795fc9e6f42SDavid E. O'Brien1998-11-16  Paul Eggert
1796fc9e6f42SDavid E. O'Brien
1797fc9e6f42SDavid E. O'Brien	Remove memory leak with valloced buffers, by invoking malloc instead.
1798fc9e6f42SDavid E. O'Brien
1799fc9e6f42SDavid E. O'Brien	* configure.in (AC_CHECK_FUNCS), src/system.h (valloc): Remove.
1800fc9e6f42SDavid E. O'Brien	* src/grep.c (page_alloc): New function.
1801fc9e6f42SDavid E. O'Brien	(ubuffer, pagesize): New vars.
1802fc9e6f42SDavid E. O'Brien	(ALIGN_TO): New macro.
1803fc9e6f42SDavid E. O'Brien	(reset): Initialize new vars.  Check for overflow in buffer size calc.
1804fc9e6f42SDavid E. O'Brien	Use page_alloc instead of valloc.
1805fc9e6f42SDavid E. O'Brien	(fillbuf): Likewise.  Use memcpy to copy saved area.
1806fc9e6f42SDavid E. O'Brien
1807fc9e6f42SDavid E. O'Brien1998-11-15  Paul Eggert
1808fc9e6f42SDavid E. O'Brien
1809fc9e6f42SDavid E. O'Brien	* dfa.c (dfacomp), search.c (EGexecute): Don't assume char is unsigned.
1810fc9e6f42SDavid E. O'Brien
1811fc9e6f42SDavid E. O'Brien1998-11-14  Paul Eggert
1812fc9e6f42SDavid E. O'Brien
1813fc9e6f42SDavid E. O'Brien	* src/grep.c (grepdir): Fix bug: memory freed twice.
1814fc9e6f42SDavid E. O'Brien
1815fc9e6f42SDavid E. O'Brien	* src/search.c (Gcompile, Ecompile): Don't invoke dfainit,
1816fc9e6f42SDavid E. O'Brien	since dfacomp does it for us, and if we also do it then we
1817fc9e6f42SDavid E. O'Brien	leak memory.
1818fc9e6f42SDavid E. O'Brien
1819fc9e6f42SDavid E. O'Brien1998-11-13  Eli Zaretskii
1820fc9e6f42SDavid E. O'Brien
1821fc9e6f42SDavid E. O'Brien	* djgpp/config.bat: Rewrite to run the configure script via Bash.
1822fc9e6f42SDavid E. O'Brien	* djgpp/config.site, djgpp/getconf: New files.
1823fc9e6f42SDavid E. O'Brien	* djgpp/config.h, djgpp/*.mak, djgpp/po2tbl.sed: Remove.
1824fc9e6f42SDavid E. O'Brien	* djgpp/README: Update instructions.
1825fc9e6f42SDavid E. O'Brien
1826fc9e6f42SDavid E. O'Brien	* Makefile.am (EXTRA_DIST): Update the list of DJGPP files.
1827fc9e6f42SDavid E. O'Brien
1828fc9e6f42SDavid E. O'Brien	* src/system.h (IS_SLASH): New macro.
1829fc9e6f42SDavid E. O'Brien	(is_EISDIR): Define it here for DOS and Windows.
1830fc9e6f42SDavid E. O'Brien
1831fc9e6f42SDavid E. O'Brien	* src/grep.c (main) [O_BINARY]: Set stdout to binary mode, so the
1832fc9e6f42SDavid E. O'Brien	EOL formats of the input and output files match, unless stdout is
1833fc9e6f42SDavid E. O'Brien	the console device.
1834fc9e6f42SDavid E. O'Brien	(is_EISDIR): Don't define if already defined.  Accept a second
1835fc9e6f42SDavid E. O'Brien	argument, the file name; all callers changed.
1836fc9e6f42SDavid E. O'Brien	(grepdir): Don't free `file', inside the loop.  Use IS_SLASH to
1837fc9e6f42SDavid E. O'Brien	check whether `dir' needs a slash.
1838fc9e6f42SDavid E. O'Brien	(grepfile): If file is a directory, set e to EISDIR.
1839fc9e6f42SDavid E. O'Brien
1840fc9e6f42SDavid E. O'Brien1998-11-10  Alain Magloire
1841fc9e6f42SDavid E. O'Brien
1842fc9e6f42SDavid E. O'Brien	* src/vms_fab.{c,h}: New file for VMS wildcard expansion
1843fc9e6f42SDavid E. O'Brien	Written by Phillip C. Brisco.
1844fc9e6f42SDavid E. O'Brien
1845fc9e6f42SDavid E. O'Brien	* vms/make.com : add line to compile vms_fab.c and
1846fc9e6f42SDavid E. O'Brien	{e,f,}grepmat.c with link for each grep/fgrep/egrep.
1847fc9e6f42SDavid E. O'Brien	Base on patch send by Phillib C. Brisco.
1848fc9e6f42SDavid E. O'Brien
1849fc9e6f42SDavid E. O'Brien1998-11-09  Alain Magloire
1850fc9e6f42SDavid E. O'Brien
1851fc9e6f42SDavid E. O'Brien	* grep-2.2c on alpha for testing.
1852fc9e6f42SDavid E. O'Brien
1853fc9e6f42SDavid E. O'Brien1998-11-09  Paul Eggert
1854fc9e6f42SDavid E. O'Brien
1855fc9e6f42SDavid E. O'Brien	* src/grep.1: Fix `Last Change' of output by generating the date
1856fc9e6f42SDavid E. O'Brien	from the RCS Id.
1857fc9e6f42SDavid E. O'Brien
1858fc9e6f42SDavid E. O'Brien	* src/grep.c (is_EISDIR): New macro.
1859fc9e6f42SDavid E. O'Brien	(grep): If -s, suppress errors from trying to read directories.
1860fc9e6f42SDavid E. O'Brien	(grepfile): Use is_EISDIR to simplify code.
1861fc9e6f42SDavid E. O'Brien	(grepdir): If -s, suppress errors from trying to read directories.
1862fc9e6f42SDavid E. O'Brien
1863fc9e6f42SDavid E. O'Brien	* src/grep.1: Fix -q -r -s problems; describe BSD grep better.
1864fc9e6f42SDavid E. O'Brien
1865fc9e6f42SDavid E. O'Brien	* src/grep.c (main): Update copyright.
1866fc9e6f42SDavid E. O'Brien
1867fc9e6f42SDavid E. O'Brien	Specify default matcher with default_matcher extern var, not
1868fc9e6f42SDavid E. O'Brien	DEFAULT_MATCHER macro.  This is more straightforward and means
1869fc9e6f42SDavid E. O'Brien	we need to compile grep.c just once.
1870fc9e6f42SDavid E. O'Brien
1871fc9e6f42SDavid E. O'Brien	* src/egrepmat.c, src/fgrepmat.c, src/grepmat.c: New files.
1872fc9e6f42SDavid E. O'Brien
1873fc9e6f42SDavid E. O'Brien	* src/Makefile.am (base_sources): New macro.
1874fc9e6f42SDavid E. O'Brien	(egrep_SOURCES, fgrep_SOURCES, grep_SOURCES): Now consist of
1875fc9e6f42SDavid E. O'Brien	$(base_sources) plus the single tailoring file.
1876fc9e6f42SDavid E. O'Brien	(grep_LDADD, egrep_LDADD, fgrep_LDADD): Remove.
1877fc9e6f42SDavid E. O'Brien	(EXTRA_DIST): Remove grep.c, regex.c.
1878fc9e6f42SDavid E. O'Brien	(fgrep.o, egrep.o): Remove.
1879fc9e6f42SDavid E. O'Brien
1880fc9e6f42SDavid E. O'Brien	* src/grep.h (matcher): Now char const *.
1881fc9e6f42SDavid E. O'Brien	(default_matcher): New decl.
1882fc9e6f42SDavid E. O'Brien
1883fc9e6f42SDavid E. O'Brien	* src/grep.c (matcher): Now char const *.
1884fc9e6f42SDavid E. O'Brien	(setmatcher): Now accepts char const *.
1885fc9e6f42SDavid E. O'Brien	(main): Default the matcher from default_matcher (linked externally)
1886fc9e6f42SDavid E. O'Brien	rather than DEFAULT_MATCHER (a macro).
1887fc9e6f42SDavid E. O'Brien
1888fc9e6f42SDavid E. O'Brien1998-11-08 Alain Magloire
1889fc9e6f42SDavid E. O'Brien
1890fc9e6f42SDavid E. O'Brien	* src/grep.1: `prep.ai.mit.edu' should be replaced with `gnu.org'.
1891fc9e6f42SDavid E. O'Brien	Nit from Paul Eggert.
1892fc9e6f42SDavid E. O'Brien
1893fc9e6f42SDavid E. O'Brien1998-11-06 Alain Magloire
1894fc9e6f42SDavid E. O'Brien
1895fc9e6f42SDavid E. O'Brien	* src/grep.c: The Matcher is not set to argv[0] but
1896fc9e6f42SDavid E. O'Brien	explicitly by a #define MATCHER at compile time default is "grep".
1897fc9e6f42SDavid E. O'Brien
1898fc9e6f42SDavid E. O'Brien	* aclocal/: NEW dir. provides our own *.m4
1899fc9e6f42SDavid E. O'Brien
1900fc9e6f42SDavid E. O'Brien	* configure.in: Move Paul's Large Files to AC_LFS.(aclocal/lfs.m4)
1901fc9e6f42SDavid E. O'Brien	Taken from Jim Meyering fileutils.
1902fc9e6f42SDavid E. O'Brien
1903fc9e6f42SDavid E. O'Brien1998-11-05 Alain Magloire
1904fc9e6f42SDavid E. O'Brien
1905fc9e6f42SDavid E. O'Brien	* src/grep.1: update the man pages according to the
1906fc9e6f42SDavid E. O'Brien	changes make by Miles.
1907fc9e6f42SDavid E. O'Brien
1908fc9e6f42SDavid E. O'Brien	* po/*.po: updated.
1909fc9e6f42SDavid E. O'Brien
1910fc9e6f42SDavid E. O'Brien	* first beta release for 2.3 (2.2a).
1911fc9e6f42SDavid E. O'Brien
1912fc9e6f42SDavid E. O'Brien1998-11-04 Miles Bader
1913fc9e6f42SDavid E. O'Brien
1914fc9e6f42SDavid E. O'Brien	* src/grep.c (main): Rationalize interaction of -C/-NUM/-A/-B
1915fc9e6f42SDavid E. O'Brien	options, and allow -C to have an optional argument. -NUM can
1916fc9e6f42SDavid E. O'Brien	now be mixed with -C, and -A, -B always take precedence over
1917fc9e6f42SDavid E. O'Brien	-C/-NUM, regardless of order.
1918fc9e6f42SDavid E. O'Brien	(long_options): Let -C/--context take an optional argument.
1919fc9e6f42SDavid E. O'Brien
1920fc9e6f42SDavid E. O'Brien1998-11-03 Alain Magloire
1921fc9e6f42SDavid E. O'Brien
1922fc9e6f42SDavid E. O'Brien	* src/dfa.c: HP-UX define clrbit/setbit as macros in <sys/param.h>
1923fc9e6f42SDavid E. O'Brien	#undef if defined.
1924fc9e6f42SDavid E. O'Brien	Fixed by Andreas Ley and Philippe Defert.
1925fc9e6f42SDavid E. O'Brien
1926fc9e6f42SDavid E. O'Brien	* src/grep.1 : mention that -s follows POSIX.2 behavior.
1927fc9e6f42SDavid E. O'Brien	Noted by Paul Eggert and others.
1928fc9e6f42SDavid E. O'Brien
1929fc9e6f42SDavid E. O'Brien	* tests/khadafy.sh: a typo in failure(s).
1930fc9e6f42SDavid E. O'Brien	Spotted By Sotiris Vassilopoulos.
1931fc9e6f42SDavid E. O'Brien
1932fc9e6f42SDavid E. O'Brien1998-11-01  Paul Eggert
1933fc9e6f42SDavid E. O'Brien
1934fc9e6f42SDavid E. O'Brien	* src/system.h (IN_CTYPE_DOMAIN): New macro.
1935fc9e6f42SDavid E. O'Brien	(ISALPHA, ISUPPER, ISLOWER, ISDIGIT, ISXDIGIT, ISSPACE,
1936fc9e6f42SDavid E. O'Brien	ISPUNCT, ISALNUM, ISPRINT, ISGRAPH, ISCNTRL): Use
1937fc9e6f42SDavid E. O'Brien	IN_CTYPE_DOMAIN instead of isascii.
1938fc9e6f42SDavid E. O'Brien
1939fc9e6f42SDavid E. O'Brien1998-08-18  Paul Eggert
1940fc9e6f42SDavid E. O'Brien
1941fc9e6f42SDavid E. O'Brien	Add support for new -r or --recursive (or -d recurse or
1942fc9e6f42SDavid E. O'Brien	--directories=recurse) option.
1943fc9e6f42SDavid E. O'Brien
1944fc9e6f42SDavid E. O'Brien	* src/Makefile.am (grep_SOURCES): Add savedir.c, savedir.h, stpcpy.c.
1945fc9e6f42SDavid E. O'Brien
1946fc9e6f42SDavid E. O'Brien	* src/grep.1: Describe new options.
1947fc9e6f42SDavid E. O'Brien
1948fc9e6f42SDavid E. O'Brien	* src/grep.c: Include "savedir.h".
1949fc9e6f42SDavid E. O'Brien	(long_options): Add -r or --recursive.
1950fc9e6f42SDavid E. O'Brien	(RECURSE_DIRECTORIES): New enum value.
1951fc9e6f42SDavid E. O'Brien	(IS_DIRECTORY_ERRNO): Remove.
1952fc9e6f42SDavid E. O'Brien	(reset, grep): Add file name arg.
1953fc9e6f42SDavid E. O'Brien	(grepdir, grepfile): New functions.
1954fc9e6f42SDavid E. O'Brien	(initial_bufoffset): New var.
1955fc9e6f42SDavid E. O'Brien	(reset): Initialize it.
1956fc9e6f42SDavid E. O'Brien	(fillbuf): Use it.
1957fc9e6f42SDavid E. O'Brien	(count_matches, list_files, no_filenames, suppress_errors): New static
1958fc9e6f42SDavid E. O'Brien	vars; formerly were local to `main'.
1959fc9e6f42SDavid E. O'Brien	(grep): Recurse through directories if the user asks for this.
1960fc9e6f42SDavid E. O'Brien	(usage, main): Add new options.
1961fc9e6f42SDavid E. O'Brien	(main): Change some local vars to be static, as described above.
1962fc9e6f42SDavid E. O'Brien	Move most of the guts into grepfile function.
1963fc9e6f42SDavid E. O'Brien	so that it can be recursed through.
1964fc9e6f42SDavid E. O'Brien
1965fc9e6f42SDavid E. O'Brien	* configure.in (AC_HEADER_DIRENT, AC_FUNC_CLOSEDIR_VOID): Add.
1966fc9e6f42SDavid E. O'Brien	(AC_REPLACE_FUNCS): Add stpcpy.
1967fc9e6f42SDavid E. O'Brien
1968fc9e6f42SDavid E. O'Brien	* src/savedir.c, src/savedir.h, src/stpcpy.c: New files;
1969fc9e6f42SDavid E. O'Brien	taken from fileutils 3.16u.
1970fc9e6f42SDavid E. O'Brien
1971fc9e6f42SDavid E. O'Brien1998-08-11  Paul Eggert
1972fc9e6f42SDavid E. O'Brien
1973fc9e6f42SDavid E. O'Brien	* src/system.h (initialize_main): New macro.
1974fc9e6f42SDavid E. O'Brien	* src/grep.c (main): Invoke initialize_main first thing.
1975fc9e6f42SDavid E. O'Brien
1976fc9e6f42SDavid E. O'Brien1998-04-29  Paul Eggert
1977fc9e6f42SDavid E. O'Brien
1978fc9e6f42SDavid E. O'Brien	* NEWS, src/grep.1: Describe new -a and -d options.
1979fc9e6f42SDavid E. O'Brien
1980fc9e6f42SDavid E. O'Brien	* src/grep.c (long_options, usage, main):
1981fc9e6f42SDavid E. O'Brien	New options -d or --directories and -a or --text.
1982fc9e6f42SDavid E. O'Brien	(directories, always_text): New variables.
1983fc9e6f42SDavid E. O'Brien	(IS_DIRECTORY_ERRNO): New macro.
1984fc9e6f42SDavid E. O'Brien	(reset): Now returns value specifying whether to skip this file.
1985fc9e6f42SDavid E. O'Brien	Stat the file if either mmap or directory-skipping is possible.
1986fc9e6f42SDavid E. O'Brien	Skip the file if it's a directory and we're skipping directories.
1987fc9e6f42SDavid E. O'Brien	(grep): Skip the file if `reset' tells us to.
1988fc9e6f42SDavid E. O'Brien	(main): If open fails because the file is a directory, and if we're
1989fc9e6f42SDavid E. O'Brien	skipping directories, don't report an error.
1990fc9e6f42SDavid E. O'Brien	Remove special case for DOS and Windows.
1991fc9e6f42SDavid E. O'Brien
1992fc9e6f42SDavid E. O'Brien	* src/dosbuf.c (guess_type): Use the same method for guessing whether a
1993fc9e6f42SDavid E. O'Brien	file is binary as grep.c's grep does.
1994fc9e6f42SDavid E. O'Brien	There's no longer any need to declare `bp' to be unsigned.
1995fc9e6f42SDavid E. O'Brien
1996fc9e6f42SDavid E. O'Brien1998-04-26 Alain Magloire
1997fc9e6f42SDavid E. O'Brien
1998fc9e6f42SDavid E. O'Brien	* grep-2.2 release.
1999fc9e6f42SDavid E. O'Brien
2000fc9e6f42SDavid E. O'Brien	* src/dfa.c: Wrong revision was pulled out
2001fc9e6f42SDavid E. O'Brien	for beta 2.1.1d.
2002fc9e6f42SDavid E. O'Brien	* src/search.c: Wrong revision was pulled out
2003fc9e6f42SDavid E. O'Brien	for beta 2.1.1d.
2004fc9e6f42SDavid E. O'Brien
2005fc9e6f42SDavid E. O'Brien	* src/grep.c: ck_atoi () added instead of atoi ().
2006fc9e6f42SDavid E. O'Brien	Suggestion from Jim Meyering.
2007fc9e6f42SDavid E. O'Brien	ck_atoi () pulled from diffutils-2.7, maintained by Paul Eggert.
2008fc9e6f42SDavid E. O'Brien
2009fc9e6f42SDavid E. O'Brien	* AUTHORS: Rephrase of some sentences.
2010fc9e6f42SDavid E. O'Brien	* README:  Rewording.
2011fc9e6f42SDavid E. O'Brien	Noted and patched by Joel N. Weber II.
2012fc9e6f42SDavid E. O'Brien
2013fc9e6f42SDavid E. O'Brien1998-04-17 Kaveh R. Ghazi
2014fc9e6f42SDavid E. O'Brien
2015fc9e6f42SDavid E. O'Brien	* src/dfa.h: Don't define `const', trust autoconf to handle it.
2016fc9e6f42SDavid E. O'Brien
2017fc9e6f42SDavid E. O'Brien1998-04-16 Alain Magloire
2018fc9e6f42SDavid E. O'Brien
2019fc9e6f42SDavid E. O'Brien	* tests/{status,empty}.sh: wrong return status.
2020fc9e6f42SDavid E. O'Brien
2021fc9e6f42SDavid E. O'Brien	* src/grep.c: Remove the REGEX part in usage (), it was
2022fc9e6f42SDavid E. O'Brien	consider overkill by most.
2023fc9e6f42SDavid E. O'Brien
2024fc9e6f42SDavid E. O'Brien1998-04-14  Eli Zaretskii
2025fc9e6f42SDavid E. O'Brien
2026fc9e6f42SDavid E. O'Brien	* djgpp/config.bat: Support file names with multiple dots on all
2027fc9e6f42SDavid E. O'Brien	platforms.
2028fc9e6f42SDavid E. O'Brien
2029fc9e6f42SDavid E. O'Brien	* djgpp/README: Add instructions about file names illegal on
2030fc9e6f42SDavid E. O'Brien	MS-DOS.
2031fc9e6f42SDavid E. O'Brien
2032fc9e6f42SDavid E. O'Brien1998-04-13 Alain Magloire
2033fc9e6f42SDavid E. O'Brien
2034fc9e6f42SDavid E. O'Brien	* src/dfa.c: by "popular" demand reverse
2035fc9e6f42SDavid E. O'Brien	back to '_' not word-constituent.
2036fc9e6f42SDavid E. O'Brien
2037fc9e6f42SDavid E. O'Brien	* grep-2.1.1c available for testing.
2038fc9e6f42SDavid E. O'Brien
2039fc9e6f42SDavid E. O'Brien1998-04-13  Karl Heuer
2040fc9e6f42SDavid E. O'Brien
2041fc9e6f42SDavid E. O'Brien	* src/grep.c: (a) The directory check is done too early:
2042fc9e6f42SDavid E. O'Brien	logically, if the argument is "-", then it refers to standard
2043fc9e6f42SDavid E. O'Brien	input, regardless of whether there's something in the file
2044fc9e6f42SDavid E. O'Brien	system answering to "-".
2045fc9e6f42SDavid E. O'Brien	(b) The sh command "grep -l root /etc/passwd /etc/group 0<&-"
2046fc9e6f42SDavid E. O'Brien	prints "(standard input)" instead of "/etc/passwd", because it
2047fc9e6f42SDavid E. O'Brien	mistakenly believes that a named file will never be opened on fd
2048fc9e6f42SDavid E. O'Brien	0.  The string "(standard input)" should be based on the file
2049fc9e6f42SDavid E. O'Brien	having been originally specified as "-", rather than making
2050fc9e6f42SDavid E. O'Brien	assumptions about the fd.
2051fc9e6f42SDavid E. O'Brien	(c) the code that calls close(fd) is being done outside of the
2052fc9e6f42SDavid E. O'Brien	test for a bad fd.  Thus, if the open failed, this code will
2053fc9e6f42SDavid E. O'Brien	attempt to close(-1).  It should be done inside the "fd != -1"
2054fc9e6f42SDavid E. O'Brien	branch.
2055fc9e6f42SDavid E. O'Brien	This patch addresses all three of these problems.
2056fc9e6f42SDavid E. O'Brien
2057fc9e6f42SDavid E. O'Brien1998-04-13 Alain Magloire
2058fc9e6f42SDavid E. O'Brien
2059fc9e6f42SDavid E. O'Brien	* configure.in: remove the deprecated AC_ISC_POSIX macro.
2060fc9e6f42SDavid E. O'Brien	Spotted by Karl Heuer.
2061fc9e6f42SDavid E. O'Brien
2062fc9e6f42SDavid E. O'Brien1998-04-03  Eli Zaretskii
2063fc9e6f42SDavid E. O'Brien
2064fc9e6f42SDavid E. O'Brien	* djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated from the
2065fc9e6f42SDavid E. O'Brien	relevant Makefile.in files.
2066fc9e6f42SDavid E. O'Brien
2067fc9e6f42SDavid E. O'Brien	* djgpp/config.bat: Create files in intl directory like the
2068fc9e6f42SDavid E. O'Brien	configure script does.
2069fc9e6f42SDavid E. O'Brien
2070fc9e6f42SDavid E. O'Brien1998-03-28  Eli Zaretskii
2071fc9e6f42SDavid E. O'Brien
2072fc9e6f42SDavid E. O'Brien	* djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated to track
2073fc9e6f42SDavid E. O'Brien	changes in respective Makefile.in files.
2074fc9e6f42SDavid E. O'Brien
2075fc9e6f42SDavid E. O'Brien	* src/dosbuf.c (guess_type): Avoid running off the end of the
2076fc9e6f42SDavid E. O'Brien	buffer.  Spotted by Paul Eggert.
2077fc9e6f42SDavid E. O'Brien
2078fc9e6f42SDavid E. O'Brien1998-03-27  Alain Magloire
2079fc9e6f42SDavid E. O'Brien
2080fc9e6f42SDavid E. O'Brien	* grep-2.1.1b.tar.gz available.
2081fc9e6f42SDavid E. O'Brien
2082fc9e6f42SDavid E. O'Brien	* src/regex.c: CLASS_CHAR_MAX set to 256 instead of 6
2083fc9e6f42SDavid E. O'Brien	when WCTYPE and WCHAR are not defined. When class names
2084fc9e6f42SDavid E. O'Brien	where bigger then 6, it will not detect an error.
2085fc9e6f42SDavid E. O'Brien	example '[[:alphabet:]]'.
2086fc9e6f42SDavid E. O'Brien
2087fc9e6f42SDavid E. O'Brien	* Updated the copyright of the files with emacs.
2088fc9e6f42SDavid E. O'Brien	With emacs Jim :).
2089fc9e6f42SDavid E. O'Brien
2090fc9e6f42SDavid E. O'Brien1998-03-26 Jim Meyering
2091fc9e6f42SDavid E. O'Brien
2092fc9e6f42SDavid E. O'Brien	* src/dfa.c (IS_WORD_CONSTITUENT): Define.
2093fc9e6f42SDavid E. O'Brien	(lex): Use IS_WORD_CONSTITUENT, not ISALNUM.
2094fc9e6f42SDavid E. O'Brien	Don't special-case '_'.
2095fc9e6f42SDavid E. O'Brien	(dfastate): Use IS_WORD_CONSTITUENT, not ISALNUM.
2096fc9e6f42SDavid E. O'Brien	(dfaexec): Likewise.
2097fc9e6f42SDavid E. O'Brien
2098fc9e6f42SDavid E. O'Brien1998-03-25  Alain Magloire
2099fc9e6f42SDavid E. O'Brien
2100fc9e6f42SDavid E. O'Brien	* tests/warning.sh: typos and replace the echos with
2101fc9e6f42SDavid E. O'Brien	a simple cat.
2102fc9e6f42SDavid E. O'Brien	Noted By Jim Meyering.
2103fc9e6f42SDavid E. O'Brien
2104fc9e6f42SDavid E. O'Brien	* src/regex.c: #undef ISASCII and ISPRINT before defining
2105fc9e6f42SDavid E. O'Brien	them(On Solaris it was define).
2106fc9e6f42SDavid E. O'Brien	Pattern 'a[[:]:]]b' is an invalid char class and the error
2107fc9e6f42SDavid E. O'Brien	from regex was 1(REG_NOMATCH) instead of 2 (REG_ECTYPE).
2108fc9e6f42SDavid E. O'Brien	Fix with help from Ulrich Drepper.
2109fc9e6f42SDavid E. O'Brien
2110fc9e6f42SDavid E. O'Brien	* src/grep.c (usage): Ulrich wrote: "A single printf should
2111fc9e6f42SDavid E. O'Brien	not have more than 900 bytes. For translation reasons the
2112fc9e6f42SDavid E. O'Brien	text shouldn't be split in too many pieces since this is
2113fc9e6f42SDavid E. O'Brien	tiresome and also does not help to generate a consistent picture."
2114fc9e6f42SDavid E. O'Brien	Noted by Ulrich Drepper.
2115fc9e6f42SDavid E. O'Brien	* src/grep.c (usage): Dig out and old patch from
2116fc9e6f42SDavid E. O'Brien	Franc,ois to explain the regex in usage().
2117fc9e6f42SDavid E. O'Brien	Ideas from Franc,ois Pinard.
2118fc9e6f42SDavid E. O'Brien
2119fc9e6f42SDavid E. O'Brien1998-03-23 Alain Magloire
2120fc9e6f42SDavid E. O'Brien
2121fc9e6f42SDavid E. O'Brien	* testing: grep-2.1.1a for testing.
2122fc9e6f42SDavid E. O'Brien
2123fc9e6f42SDavid E. O'Brien	* configure.in: Solaris needs '-lw' if we use wchar/wctype
2124fc9e6f42SDavid E. O'Brien	functions.
2125fc9e6f42SDavid E. O'Brien	* src/btowc.c: New file from GNU libc. Solaris 2.5 don't
2126fc9e6f42SDavid E. O'Brien	have it define.
2127fc9e6f42SDavid E. O'Brien	* configure.in : check for btowc ().
2128fc9e6f42SDavid E. O'Brien
2129fc9e6f42SDavid E. O'Brien	* regex.c: Include <wchar.h> before <wctype.h>, to work around
2130fc9e6f42SDavid E. O'Brien	a Solaris 2.5 bug.
2131fc9e6f42SDavid E. O'Brien	Patch provided by Paul Eggert.
2132fc9e6f42SDavid E. O'Brien
2133fc9e6f42SDavid E. O'Brien	* tests/status.sh: new file to check return status code.
2134fc9e6f42SDavid E. O'Brien	* tests/empty.sh: new file to check for empty pattern.
2135fc9e6f42SDavid E. O'Brien	* tests/warning.sh: new file to tell where to report errors.
2136fc9e6f42SDavid E. O'Brien
2137fc9e6f42SDavid E. O'Brien	* configure.in: If available, prefer support for large files
2138fc9e6f42SDavid E. O'Brien	unless the user specified one of the CPPFLAGS, LDFLAGS, or LIBS
2139fc9e6f42SDavid E. O'Brien	variables.
2140fc9e6f42SDavid E. O'Brien	Done by Paul Eggert.
2141fc9e6f42SDavid E. O'Brien
2142fc9e6f42SDavid E. O'Brien	* src/grep.c (usage): change prep.ai.mit.edu for gnu.org.
2143fc9e6f42SDavid E. O'Brien
2144fc9e6f42SDavid E. O'Brien1998-03-18 Alain Magloire
2145fc9e6f42SDavid E. O'Brien
2146fc9e6f42SDavid E. O'Brien	* src/grep.c (usage): Formating the --help message a bit off.
2147fc9e6f42SDavid E. O'Brien	Noted by William Bader.
2148fc9e6f42SDavid E. O'Brien
2149fc9e6f42SDavid E. O'Brien	* src/grep.c (main): When checking conflicting matcher for option -E the
2150fc9e6f42SDavid E. O'Brien	matcher was to "egrep" instead of "posix-egrep".
2151fc9e6f42SDavid E. O'Brien	Reported by [email protected].
2152fc9e6f42SDavid E. O'Brien
2153fc9e6f42SDavid E. O'Brien	* src/grep.c: Typos and rewording the --help message.
2154fc9e6f42SDavid E. O'Brien	Reported by Karl Heuer.
2155fc9e6f42SDavid E. O'Brien
2156fc9e6f42SDavid E. O'Brien	* src/grep.1: The man page wording :
2157fc9e6f42SDavid E. O'Brien	  A regular expression matching a single character may be
2158fc9e6f42SDavid E. O'Brien	  followed by one of several repetition operators:
2159fc9e6f42SDavid E. O'Brien	is unclear since 'x(yz)*z' is a valid regex.
2160fc9e6f42SDavid E. O'Brien	Remove the "matching a single character".
2161fc9e6f42SDavid E. O'Brien	Suggested by Harald Hanche-Olsen.
2162fc9e6f42SDavid E. O'Brien
2163fc9e6f42SDavid E. O'Brien	* src/grep.c (main): `-f /dev/null' now specifies no patterns
2164fc9e6f42SDavid E. O'Brien	and therfore matches nothing.
2165fc9e6f42SDavid E. O'Brien	Reported by Jorge Stolfi.
2166fc9e6f42SDavid E. O'Brien	Patched by Paul Eggert.
2167fc9e6f42SDavid E. O'Brien
2168fc9e6f42SDavid E. O'Brien1998-03-10 Alain Magloire
2169fc9e6f42SDavid E. O'Brien
2170fc9e6f42SDavid E. O'Brien	* Ice storm 98(el nino). Lost grep repository disk,
2171fc9e6f42SDavid E. O'Brien	and my $HOME directory, etc ..
2172fc9e6f42SDavid E. O'Brien	Trying to get the emails/patch from dejanews.com
2173fc9e6f42SDavid E. O'Brien	and start from grep-2.1.
2174fc9e6f42SDavid E. O'Brien	sigh ....
2175fc9e6f42SDavid E. O'Brien
2176fc9e6f42SDavid E. O'Brien1997-11-01 Alain Magloire
2177fc9e6f42SDavid E. O'Brien
2178fc9e6f42SDavid E. O'Brien	* src/grep.c: For the long options, the problems are:
2179fc9e6f42SDavid E. O'Brien	--file appears in the option table as 'no_argument'
2180fc9e6f42SDavid E. O'Brien	instead of 'required_argument'.
2181fc9e6f42SDavid E. O'Brien	--files-with-matches is missing from the option table.
2182fc9e6f42SDavid E. O'Brien	The help lists '--fixed-strings' as the long option for -F,
2183fc9e6f42SDavid E. O'Brien	the table has '--fixed-regexp'.
2184fc9e6f42SDavid E. O'Brien	--regexp appears in the option table as 'no_argument'
2185fc9e6f42SDavid E. O'Brien	instead of 'required_argument'.
2186fc9e6f42SDavid E. O'Brien	--with-filename is missing from the option table.
2187fc9e6f42SDavid E. O'Brien	Reported by Grant McDorman and Krishna Sethuraman.
2188fc9e6f42SDavid E. O'Brien
2189fc9e6f42SDavid E. O'Brien1997-10-19 Alain Magloire
2190fc9e6f42SDavid E. O'Brien
2191fc9e6f42SDavid E. O'Brien	* src/grep.c: the option "with-filename was not in the arg table.
2192fc9e6f42SDavid E. O'Brien	Corrected by Jim Hand.
2193fc9e6f42SDavid E. O'Brien
2194fc9e6f42SDavid E. O'Brien	* GNU gettext library from gettext-0.10.32.
2195fc9e6f42SDavid E. O'Brien
2196fc9e6f42SDavid E. O'Brien	* src/grep.c: reverse back to greping directories,
2197fc9e6f42SDavid E. O'Brien	One could skip the error message by defining
2198fc9e6f42SDavid E. O'Brien	SKIP_DIR_ERROR. There is no clear way of doing
2199fc9e6f42SDavid E. O'Brien	things, I hope to setle this on the next majore release
2200fc9e6f42SDavid E. O'Brien	Thanks Paul Eggert, Eli Zaretskii and gnits for the
2201fc9e6f42SDavid E. O'Brien	exchange.
2202fc9e6f42SDavid E. O'Brien
2203fc9e6f42SDavid E. O'Brien	* tests/status.sh: add this check to make sure
2204fc9e6f42SDavid E. O'Brien	That the return status code is ok.
2205fc9e6f42SDavid E. O'Brien
2206fc9e6f42SDavid E. O'Brien1997-10-10 Andreas Schwab
2207fc9e6f42SDavid E. O'Brien
2208fc9e6f42SDavid E. O'Brien	* src/grep.1: Fix formatting.
2209fc9e6f42SDavid E. O'Brien
2210fc9e6f42SDavid E. O'Brien	* configure.in: Check for wctype.h, wchar.h, libintl.h and
2211fc9e6f42SDavid E. O'Brien	isascii, which are needed for regex.c.
2212fc9e6f42SDavid E. O'Brien
2213fc9e6f42SDavid E. O'Brien1997-10-01 Paul Eggert
2214fc9e6f42SDavid E. O'Brien
2215fc9e6f42SDavid E. O'Brien	* src/grep.c (fillbuf): Don't warn about mmap failures.
2216fc9e6f42SDavid E. O'Brien
2217fc9e6f42SDavid E. O'Brien1997-09-7 Alain Magloire
2218fc9e6f42SDavid E. O'Brien
2219fc9e6f42SDavid E. O'Brien	* src/grep.c: added code for -H --with-filename.
2220fc9e6f42SDavid E. O'Brien
2221fc9e6f42SDavid E. O'Brien	* djgpp/*: patch wrongly apply
2222fc9e6f42SDavid E. O'Brien	duplication of text in djgpp/{README,config.h}.
2223fc9e6f42SDavid E. O'Brien	Filter djgpp/config.bat with unix2dos.
2224fc9e6f42SDavid E. O'Brien
2225fc9e6f42SDavid E. O'Brien	* djgpp/make.mak: beautify
2226fc9e6f42SDavid E. O'Brien	From Eli Zaretskii.
2227fc9e6f42SDavid E. O'Brien
2228fc9e6f42SDavid E. O'Brien	* grep-2.1 release.
2229fc9e6f42SDavid E. O'Brien
2230fc9e6f42SDavid E. O'Brien1997-09-01 Alain Magloire
2231fc9e6f42SDavid E. O'Brien
2232fc9e6f42SDavid E. O'Brien	* grep-2.0f out for testing.
2233fc9e6f42SDavid E. O'Brien
2234fc9e6f42SDavid E. O'Brien	* update to GNU gettext library from gettext-0.10.31
2235fc9e6f42SDavid E. O'Brien
2236fc9e6f42SDavid E. O'Brien	* grep.c : have a nicer format for --version.
2237fc9e6f42SDavid E. O'Brien	Noted by Ulrich Drepper.
2238fc9e6f42SDavid E. O'Brien
2239fc9e6f42SDavid E. O'Brien	* obstack.[ch]: updated from GNU C library
2240fc9e6f42SDavid E. O'Brien	* configure.in: look for stdlib.h [HAVE_STDLIB_H]
2241fc9e6f42SDavid E. O'Brien	Comments from Ulrich Drepper.
2242fc9e6f42SDavid E. O'Brien
2243fc9e6f42SDavid E. O'Brien1997-08-25 Philippe De Muyter  <[email protected]>
2244fc9e6f42SDavid E. O'Brien
2245fc9e6f42SDavid E. O'Brien	* src/dfa.c (sys/types.h): File included unconditionnaly.
2246fc9e6f42SDavid E. O'Brien
2247fc9e6f42SDavid E. O'Brien1997-08-16  Eli Zaretskii  <[email protected]>
2248fc9e6f42SDavid E. O'Brien
2249fc9e6f42SDavid E. O'Brien	* grep.c (long_options) [O_BINARY]: Add DOS-specific options.
2250fc9e6f42SDavid E. O'Brien	(fillbuf) [O_BINARY]: For DOS-style text files, strip CR
2251fc9e6f42SDavid E. O'Brien	characters at end of line.
2252fc9e6f42SDavid E. O'Brien	(prline) [O_BINARY]: Report correct byte offsets, even though CR
2253fc9e6f42SDavid E. O'Brien	characters were stripped when reading the file.
2254fc9e6f42SDavid E. O'Brien	(usage) [O_BINARY]: Add DOS-specific options.
2255fc9e6f42SDavid E. O'Brien	(setmatcher) [HAVE_SETRLIMIT]: Set re_max_failures so that the
2256fc9e6f42SDavid E. O'Brien	matcher won't ever overflow the stack.
2257fc9e6f42SDavid E. O'Brien	(main) [__MSDOS__, _WIN32]: Handle backslashes and drive letters
2258fc9e6f42SDavid E. O'Brien	in argv[0], remove the .exe suffix, and downcase the prgram name.
2259fc9e6f42SDavid E. O'Brien	[O_BINARY]: Pass additional DOS-specific options to getopt_long
2260fc9e6f42SDavid E. O'Brien	and handle them.  Call stat before attempting to open the file, in
2261fc9e6f42SDavid E. O'Brien	case it is a directory (DOS will fail the open call for
2262fc9e6f42SDavid E. O'Brien	directories).  Switch the input descriptor to binary mode, unless
2263fc9e6f42SDavid E. O'Brien	it is a terminal device.
2264fc9e6f42SDavid E. O'Brien
2265fc9e6f42SDavid E. O'Brien	* system.h [O_BINARY]: Define macros to switch a handle to binary
2266fc9e6f42SDavid E. O'Brien	mode, so binary files could be grep'ed on MS-DOS and MS-Windows.
2267fc9e6f42SDavid E. O'Brien	[HAVE_SETLOCALE]: Test for HAVE_SETLOCALE instead of
2268fc9e6f42SDavid E. O'Brien	HAVE_LC_MESSAGES, to prevent compilation error in grep.c on
2269fc9e6f42SDavid E. O'Brien	systems which don't define HAVE_LC_MESSAGES, but have setlocale.
2270fc9e6f42SDavid E. O'Brien
2271fc9e6f42SDavid E. O'Brien	* dosbuf.c: New file, functions specific for MS-DOS/MS-Windows.
2272fc9e6f42SDavid E. O'Brien	(guess_type, undossify_input, dossified_pos): New functions.
2273fc9e6f42SDavid E. O'Brien
2274fc9e6f42SDavid E. O'Brien	* djgpp/config.h, djgpp/config.bat, djgpp/main.mak, djgpp/src.mak,
2275fc9e6f42SDavid E. O'Brien	djgpp/po.mak, djgpp/intl.mak, djgpp/tests.mak, djgpp/po2tbl.sed:
2276fc9e6f42SDavid E. O'Brien	New files, for building Grep with DJGPP tools for MS-DOS and
2277fc9e6f42SDavid E. O'Brien	MS-Windows.
2278fc9e6f42SDavid E. O'Brien
2279fc9e6f42SDavid E. O'Brien	* grep.1: Document DOS-specific switches.
2280fc9e6f42SDavid E. O'Brien
2281fc9e6f42SDavid E. O'Brien1997-08-08 Alain Magloire
2282fc9e6f42SDavid E. O'Brien
2283fc9e6f42SDavid E. O'Brien	* grep-2.0e: available for testing
2284fc9e6f42SDavid E. O'Brien
2285fc9e6f42SDavid E. O'Brien	* grep.c: change LC_MESSAGE to LC_ALL for (LC_CTYPE).
2286fc9e6f42SDavid E. O'Brien	Suggested by Jochen Hein.
2287fc9e6f42SDavid E. O'Brien
2288fc9e6f42SDavid E. O'Brien	* ABOUT-NLS: updated.
2289fc9e6f42SDavid E. O'Brien	* grep.c: --version: more verbosity (COPYRIGHT).
2290fc9e6f42SDavid E. O'Brien	* grep.c: --help: PATTERN, FILE instead of <pattern>, <file>.
2291fc9e6f42SDavid E. O'Brien	* INSTALL.grep: not necessary removed.
2292fc9e6f42SDavid E. O'Brien	* configure.in: --disable-regex rename --without-include-regex.
2293fc9e6f42SDavid E. O'Brien	* THANKS: format: first row name, second email.
2294fc9e6f42SDavid E. O'Brien	* ChangeLog: format ISO 8601.
2295fc9e6f42SDavid E. O'Brien	Reported by Franc,ois Pinard.
2296fc9e6f42SDavid E. O'Brien
2297fc9e6f42SDavid E. O'Brien	* grep.c: move dcl of struct stat st into "else" where it's used.
2298fc9e6f42SDavid E. O'Brien	Reported by Jim Meyering.
2299fc9e6f42SDavid E. O'Brien
2300fc9e6f42SDavid E. O'Brien	* grep.c: totalnl should be %u in printf.
2301fc9e6f42SDavid E. O'Brien	Reported by Michael Aichlmay
2302fc9e6f42SDavid E. O'Brien	Corrected with guidance from Ulrich Drepper
2303fc9e6f42SDavid E. O'Brien
2304fc9e6f42SDavid E. O'Brien1997-07-24 Alain Magloire <[email protected]>
2305fc9e6f42SDavid E. O'Brien
2306fc9e6f42SDavid E. O'Brien	* Makefile.am: corrected an error when installing {f,e}grep.1.
2307fc9e6f42SDavid E. O'Brien	From Kaveh R. Ghazi <[email protected]>.
2308fc9e6f42SDavid E. O'Brien	From Ulrich Drepper <[email protected]>.
2309fc9e6f42SDavid E. O'Brien
2310fc9e6f42SDavid E. O'Brien	* Many files: use PARAMS instead of __STDC__ for prototypes.
2311fc9e6f42SDavid E. O'Brien	From Jim Meyering <[email protected]>.
2312fc9e6f42SDavid E. O'Brien	Patch provided by Kaveh R. Ghazi <[email protected]>.
2313fc9e6f42SDavid E. O'Brien
2314fc9e6f42SDavid E. O'Brien	* dfa.[ch]: uses the one in gawk-3.0.3 with the patch from
2315fc9e6f42SDavid E. O'Brien	Arnold (see Changelog: July 12 1997)
2316fc9e6f42SDavid E. O'Brien
2317fc9e6f42SDavid E. O'Brien	* grep.1: a note to say -l, -L, -q stop on first match.
2318fc9e6f42SDavid E. O'Brien	Noted by Andrew Beattie <[email protected]>.
2319fc9e6f42SDavid E. O'Brien
2320fc9e6f42SDavid E. O'Brien	* grep.c: refuse to scan if the file is a directory.
2321fc9e6f42SDavid E. O'Brien	This was causing problems on SUNs. If the directory contains
2322fc9e6f42SDavid E. O'Brien	a file that could match the pattern, garbage was display.
2323fc9e6f42SDavid E. O'Brien
2324fc9e6f42SDavid E. O'Brien	* tests directory: added new set of tests from Henry Spencer
2325fc9e6f42SDavid E. O'Brien	regex package. Change the way the tests were done to be more
2326fc9e6f42SDavid E. O'Brien	conformant to automake.
2327fc9e6f42SDavid E. O'Brien
2328fc9e6f42SDavid E. O'Brien	* configure.in: added --disable-regex for folks with their own fuctions.
2329fc9e6f42SDavid E. O'Brien
2330fc9e6f42SDavid E. O'Brien	* grep-20d : available for testing
2331fc9e6f42SDavid E. O'Brien
2332fc9e6f42SDavid E. O'Brien1997-07-18 Alain Magloire <[email protected]>
2333fc9e6f42SDavid E. O'Brien
2334fc9e6f42SDavid E. O'Brien	* grep-2.0c: available for testing
2335fc9e6f42SDavid E. O'Brien
2336fc9e6f42SDavid E. O'Brien1997-07-17 Alain Magloire <[email protected]>
2337fc9e6f42SDavid E. O'Brien
2338fc9e6f42SDavid E. O'Brien	* src/grep.c: Cause grep to fail if `fclose (stdout)' fails.
2339fc9e6f42SDavid E. O'Brien	From Jim Meyering <[email protected]>.
2340fc9e6f42SDavid E. O'Brien
2341fc9e6f42SDavid E. O'Brien	* grep.c:usage() more consistency in the --help.
2342fc9e6f42SDavid E. O'Brien
2343fc9e6f42SDavid E. O'Brien	* egrep, fgrep were links This is in violation of GNU standards:
2344fc9e6f42SDavid E. O'Brien	"Please don't make the behavior of a utility depend on the name used
2345fc9e6f42SDavid E. O'Brien	to invoke it.  It is useful sometimes to make a link to a utility with
2346fc9e6f42SDavid E. O'Brien	a different name, and that should not change what it does."
2347fc9e6f42SDavid E. O'Brien	For now egrep and fgrep will be copies of grep. A better scheme
2348fc9e6f42SDavid E. O'Brien	should be found later.
2349fc9e6f42SDavid E. O'Brien	After discussion with Tom Tromey <[email protected]>.
2350fc9e6f42SDavid E. O'Brien
2351fc9e6f42SDavid E. O'Brien	* fgrep.man and egrep.man included: They are stubs that call grep.1.
2352fc9e6f42SDavid E. O'Brien	* Makefile.am: modified to install {f,e,}grep[,.1].
2353fc9e6f42SDavid E. O'Brien
2354fc9e6f42SDavid E. O'Brien	* speed hack for -l, -L: bail out on first match.
2355fc9e6f42SDavid E. O'Brien	From Scott Weikart <[email protected]>.
2356fc9e6f42SDavid E. O'Brien
2357fc9e6f42SDavid E. O'Brien	* *.[ch]: provided prototypes for strict argument checking
2358fc9e6f42SDavid E. O'Brien	With the help of Stewart Levin <[email protected]>.
2359fc9e6f42SDavid E. O'Brien
2360fc9e6f42SDavid E. O'Brien1997-07-16 Alain Magloire <[email protected]>
2361fc9e6f42SDavid E. O'Brien
2362fc9e6f42SDavid E. O'Brien	* configure.in: typo in the creation of po/Makefile
2363fc9e6f42SDavid E. O'Brien	Noted by Volker Borchert [email protected].
2364fc9e6f42SDavid E. O'Brien
2365fc9e6f42SDavid E. O'Brien	* grep-2.0b: make it available for testing.
2366fc9e6f42SDavid E. O'Brien
2367fc9e6f42SDavid E. O'Brien1997-07-15 Alain Magloire <[email protected]>
2368fc9e6f42SDavid E. O'Brien
2369fc9e6f42SDavid E. O'Brien	* src/grep.c usage(): cut the --help in smaller printf()'s
2370fc9e6f42SDavid E. O'Brien	Noted by Ulrich Drepper <[email protected]>.
2371fc9e6f42SDavid E. O'Brien
2372fc9e6f42SDavid E. O'Brien1997-07-14 Alain Magloire <[email protected]>
2373fc9e6f42SDavid E. O'Brien
2374fc9e6f42SDavid E. O'Brien	* grep-2.0a: make an alpha available for testing.
2375fc9e6f42SDavid E. O'Brien
2376fc9e6f42SDavid E. O'Brien1997-07-12 Alain Magloire <[email protected]>
2377fc9e6f42SDavid E. O'Brien
2378fc9e6f42SDavid E. O'Brien	* run gettextize: added the po directory filled with *.po files.
2379fc9e6f42SDavid E. O'Brien
2380fc9e6f42SDavid E. O'Brien	* check.sh, scriptgen.awk: fix grep paths.
2381fc9e6f42SDavid E. O'Brien
2382fc9e6f42SDavid E. O'Brien	* change the directory strucure: grep is now in src to comply with
2383fc9e6f42SDavid E. O'Brien	gettext.m4.
2384fc9e6f42SDavid E. O'Brien
2385fc9e6f42SDavid E. O'Brien	* grep.c version.c [VERSION]: got rid of version.c,
2386fc9e6f42SDavid E. O'Brien	it is now define via config.h.
2387fc9e6f42SDavid E. O'Brien
2388fc9e6f42SDavid E. O'Brien	* dfa.c: patch to speed up initialization.
2389fc9e6f42SDavid E. O'Brien	Arnold Robbins ([email protected]).
2390fc9e6f42SDavid E. O'Brien
2391fc9e6f42SDavid E. O'Brien1997-07-09 Alain Magloire <[email protected]>
2392fc9e6f42SDavid E. O'Brien
2393fc9e6f42SDavid E. O'Brien	* *.c [HAVE_CONFIG_H]: Macro defined.
2394fc9e6f42SDavid E. O'Brien
2395fc9e6f42SDavid E. O'Brien	* support for I18N in Makefile.am and configure.in.
2396fc9e6f42SDavid E. O'Brien
2397fc9e6f42SDavid E. O'Brien	* update all the string to use gettext(I18N).
2398fc9e6f42SDavid E. O'Brien	Help from Franc,ois Pinard previous patch <[email protected]>.
2399fc9e6f42SDavid E. O'Brien
2400fc9e6f42SDavid E. O'Brien1997-07-04 Alain Magloire <[email protected]>
2401fc9e6f42SDavid E. O'Brien
2402fc9e6f42SDavid E. O'Brien	* obstack.[ch]: updated from glibc.
2403fc9e6f42SDavid E. O'Brien	Work of Ulrich Drepper <[email protected]>.
2404fc9e6f42SDavid E. O'Brien
2405fc9e6f42SDavid E. O'Brien	* regex.[ch]: updated from glibc.
2406fc9e6f42SDavid E. O'Brien	Work of Ulrich Drepper <[email protected]>.
2407fc9e6f42SDavid E. O'Brien
2408fc9e6f42SDavid E. O'Brien	* grep.c: for option -e not counting '\n' for new keys.
2409fc9e6f42SDavid E. O'Brien	From Mark Waite <[email protected]>.
2410fc9e6f42SDavid E. O'Brien
2411fc9e6f42SDavid E. O'Brien	* grep.c: for option -f allocating the right count.
2412fc9e6f42SDavid E. O'Brien	From Andreas Schwab <[email protected]>.
2413fc9e6f42SDavid E. O'Brien	Mike Heartel ([email protected]).
2414fc9e6f42SDavid E. O'Brien
2415fc9e6f42SDavid E. O'Brien	* kwset.c (bmexec): Cast tp[-2] to unsigned char before comparing.
2416fc9e6f42SDavid E. O'Brien	From Jim Meyering <[email protected]>.
2417fc9e6f42SDavid E. O'Brien
2418fc9e6f42SDavid E. O'Brien	* grep.1: various typos.
2419fc9e6f42SDavid E. O'Brien	From Keith Bostic <[email protected]>.
2420fc9e6f42SDavid E. O'Brien	Mike Heartel ([email protected]).
2421fc9e6f42SDavid E. O'Brien
2422fc9e6f42SDavid E. O'Brien1997-06-17 Alain Magloire <[email protected]>
2423fc9e6f42SDavid E. O'Brien
2424fc9e6f42SDavid E. O'Brien	* grep.c: support for long options.
2425fc9e6f42SDavid E. O'Brien	patch done by Franc,ois Pinard <[email protected]>.
2426fc9e6f42SDavid E. O'Brien
2427fc9e6f42SDavid E. O'Brien	* add getopt1.c in Makefile.am.
2428fc9e6f42SDavid E. O'Brien	Noted by Franc,ois Pinard <[email protected]>
2429fc9e6f42SDavid E. O'Brien
2430fc9e6f42SDavid E. O'Brien	* replace getopt.[ch] and add getopt1.c.
2431fc9e6f42SDavid E. O'Brien
2432fc9e6f42SDavid E. O'Brien	* kwset.c: undef malloc before define it.
2433fc9e6f42SDavid E. O'Brien	Franc,ois Pinard <[email protected]>.
2434fc9e6f42SDavid E. O'Brien
2435fc9e6f42SDavid E. O'Brien1997-06-07 Alain Magloire <[email protected]>
2436fc9e6f42SDavid E. O'Brien
2437fc9e6f42SDavid E. O'Brien	* grep.c: format incorrect in
2438fc9e6f42SDavid E. O'Brien	fprintf("%s: warning: %s: %s...", filename, strerror(errno)).
2439fc9e6f42SDavid E. O'Brien	Mike Heartel ([email protected]).
2440fc9e6f42SDavid E. O'Brien
2441fc9e6f42SDavid E. O'Brien1996-11-19  David J MacKenzie  <[email protected]>
2442fc9e6f42SDavid E. O'Brien
2443fc9e6f42SDavid E. O'Brien	* make.com: Set the logical SYS. From [email protected] (Rodney Brown).
2444fc9e6f42SDavid E. O'Brien
2445fc9e6f42SDavid E. O'Brien	* grep.c (S_ISREG): Define if not defined already, for e.g.
2446fc9e6f42SDavid E. O'Brien	SunOS 4.0.3.
2447fc9e6f42SDavid E. O'Brien
2448fc9e6f42SDavid E. O'Brien	* dfa.c (test_bit, set_bit, clear_bit): Renamed from tstbit,
2449fc9e6f42SDavid E. O'Brien	setbit, clrbit to avoid conflict with HP-UX sys/param.h macros.
2450fc9e6f42SDavid E. O'Brien
2451fc9e6f42SDavid E. O'Brien	* memchr.c: New file, from GNU libc.
2452fc9e6f42SDavid E. O'Brien	* grep.c (memchr): Remove definition.
2453fc9e6f42SDavid E. O'Brien	* configure.in: Use AC_REPLACE_FUNCS for memchr.
2454fc9e6f42SDavid E. O'Brien
2455fc9e6f42SDavid E. O'Brien	* configure.in: Remove unused checks for memalign and unsigned char.
2456fc9e6f42SDavid E. O'Brien	* grep.c: HAVE_WORKING_MMAP -> HAVE_MMAP.
2457fc9e6f42SDavid E. O'Brien
2458fc9e6f42SDavid E. O'Brien	* system.h: New file.
2459fc9e6f42SDavid E. O'Brien	* dfa.c, kwset.c, grep.c, search.c: Use it instead of duplicating
2460fc9e6f42SDavid E. O'Brien	portability boilerplate.
2461fc9e6f42SDavid E. O'Brien
2462fc9e6f42SDavid E. O'Brien	* grep.c: Include sys/types.h once, instead of three times
2463fc9e6f42SDavid E. O'Brien	conditionally.
2464fc9e6f42SDavid E. O'Brien	* dfa.c, kwset.c, search.c: Include sys/types.h unconditionally,
2465fc9e6f42SDavid E. O'Brien	to always try to get size_t (needed on some old SysV's).
2466fc9e6f42SDavid E. O'Brien
2467fc9e6f42SDavid E. O'Brien	* dfa.c: Define strchr in terms of index, not the other way around.
2468fc9e6f42SDavid E. O'Brien	* search.c: Use memcpy instead of bcopy.
2469fc9e6f42SDavid E. O'Brien
2470fc9e6f42SDavid E. O'Brien1996-11-15  David J MacKenzie  <[email protected]>
2471fc9e6f42SDavid E. O'Brien
2472fc9e6f42SDavid E. O'Brien	* Many files: Update FSF address.
2473fc9e6f42SDavid E. O'Brien	Update configuration to use autoconf v2 and automake.
2474fc9e6f42SDavid E. O'Brien
2475fc9e6f42SDavid E. O'Brien1993-05-22  Mike Haertel  <[email protected]>
2476fc9e6f42SDavid E. O'Brien
2477fc9e6f42SDavid E. O'Brien	* Version 2.0 released.
2478