ChangeLog revision 55360
133965Sjdp1999-11-18  Paul Eggert
2104834Sobrien
333965Sjdp	* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
433965Sjdp	problem with the QNX 4.25 shell, which doesn't propagate exit
5	status of failed commands inside shell assignments.
6
71999-11-13  Eli Zaretskii
8
9	* doc/grep.texi: Minor markup and spelling corrections.  Use
10	@noindent where appropriate.
11
12	* PATCHES-{AM,AC}: rename to PATCHES.{AM,AC}
13
141999-11-12  Eli Zaretskii
15
16	doc/grep.texi: Minor fixes and typos corrected.
17	djgpp/README: Updated version.
18
191999-11-07  Paul Eggert
20
21	* src/grep.c (usage): Fix misspelling.
22
231999-11-07  Paul Eggert
24
25	Don't assume that the C library has re_set_syntax and friends.
26	* src/Makefile.am (base_sources): Add regex.c, regex.h.
27	(EXTRA_DIST): Remove regex.c, regex.h.
28
29	* src/grep.c (prtext): Use out_quiet, not not_text, to decide
30	whether to set pending to zero at the end.
31	(not_text): Remove static variable, undoing latest change.
32	(grep): Likewise.
33
34	* doc/grep.texi: Tighten up the text, and fix some minor
35	spelling and usage errors.  Use @enumerate rather than @table
36	@samp, since it's better for Q&A format.  Add cross
37	references.
38
391999-11-01 Alain Magloire
40
41	* src/search.c: Use the more portable [[:alnum:]]
42	to define a word instead of Ascii dependent [0-9A-Za-z]
43	* src/grep.c: make not_text global to not display text when
44	the context switches -A/-B/-C are use on binary files.
45	* make grep-2.3g available for testing.
46	* configure.in: drop support for --without-included-regex.
47	This was generating bogus bug reports, since many GNU/Linux
48	users have different version of glibc.  And glibc maintainers
49	decided to drop k&r support. 
50	
511999-11-01 Arnold D. Robbins
52
53	* regex.c (init_syntax_once): move below definition of
54	ISALNUM etc., then use ISALNUM to init the table, so that
55	the word ops will work if i18n'ed.
56	(SYNTAX): And subscript with 0xFF for Latin-1 characters.
57
581999-10-26  Alain Magloire
59
60	* src/regex.c: Merge changes from GNU lib C.
61	* Updated the *.po files
62
631999-10-26  Paul Eggert
64
65	* src/grep.c (fillbuf): Don't report buffer size overflow if
66	newalloc == save and maxalloc == save.  This can happen
67	e.g. when reading a large page-aligned file that contains
68	no newlines.
69
701999-10-21  Paul Eggert
71
72	* src/grep.c (usage): Give example.  Clarify -F.
73	Explain exit status more clearly.
74
751999-10-12  Paul Eggert
76
77	* doc/grep.texi: Shorten the commentary about egrep and {.
78	"BSD grep" -> "traditional grep".
79	* doc/grep.1: Match recent changes to grep.texi.
80
811999-10-11  Paul Eggert
82
83	* NEWS, doc/grep.1, doc/grep.texi: New option --mmap.
84	* src/grep.c (mmap_option): New variable.
85	(long_options, reset, usage): Add --mmap.
86	Default is now read, not mmap.
87
88	* doc/grep.1: Document -Z or --null.
89
901999-10-11  Paul Eggert
91
92	* doc/grep.texi: Fix texinfo glitches.  POSIX -> POSIX.2 where
93	appropriate.
94
951999-10-11  Paul Eggert
96
97	* acconfig.h (ssize_t): New #undef.
98
99	* configure.in (AC_CHECK_TYPE): Add ssize_t.
100
101	* src/grep.c (PREFERRED_SAVE_FACTOR): New macro.
102	(reset): If the buffer has already been allocated, set bufsalloc to
103	be bufalloc / PREFERRED_SAVE_FACTOR.  This avoids problems when
104	bufsalloc == bufalloc (possible after reading a large binary file).
105	(reset): Use PREFERRED_SAVE_FACTOR instead of magic constant.
106	Do not set bufbeg; nobody uses it.
107	Always set buflim.
108	Check for lseek error.
109	Use SEEK_CUR, not a magic constant.
110	(fillbuf): Return an error indication, not a count.
111	All callers changed.
112	Do not assume ssize_t fits in int.
113	Use PREFERRED_SAVE_FACTOR instead of magic constant.
114	Clean up mmap code.
115	Do not attempt to mmap zero bytes.
116	Check for lseek error.
117	Use SEEK_SET, not a magic constant.
118	Work correctly if read is interrupted.
119	(grepfile): Work correctly if open or close is interrupted.
120
121	* src/system.h (SEEK_SET, SEEK_CUR): New macros.
122
1231999-10-02 Alain Magloire
124
125	* src/regex.[ch]: upgrade from GNU lib C source tree.
126
127	* make beta 2.3f available.
128
1291999-10-02  Paul Eggert
130
131	* NEWS: egrep is now equivalent to `grep -E'.
132	The lower bound of an interval is not optional.
133	You can specify a matcher multiple types without error.
134	-u and -U are now allowed on non-DOS hosts, and have no effect.
135	* doc/grep.texi: Likewise.
136	* doc/grep.1: Likewise.
137	Fix some troff bugs that prevented `groff' from rendering the page.
138
139	* src/egrepmat.c, src/fgrepmat.c, src/grepmat.c (default_matcher):
140	Remove.
141	(matcher): Add.
142	* src/grep.h (default_matcher): Remove.
143	(matcher): Now exported from ?grepmat.c, not grep.c.
144
145	* src/dfa.c (lex): If { would start an invalid interval specification,
146        treat it as a normal character.
147        Remove (broken) support for {,M} meaning {0,M}.
148        Diagnose bogus intervals like {1,0}.
149        (closure): maxrep is now -1 to indicate no limit, not zero;
150        zero is a valid value for maxrep, meaning an upper bound of zero.
151
152	* src/grep.c (short_options): New constant.
153	(long_options, main): -u and -U are now supported on Unix,
154	with no effect.
155	(matcher): Removed; now defined by ?grepmat.c.
156	(install_matcher): Renamed from setmatcher.
157	(setmatcher): New function.
158	(usage): Report new, more uniform option scheme.
159	(main): Do not initialize matcher; ?grepmat.c now does this.
160	Rely on setmatcher to catch matcher conflicts.
161	Default matcher is "grep".
162
163	* src/search.c (matchers):
164	Remove "posix-egrep" matcher; no longer needed.
165	(Ecompile): Likewise.
166	The egrep matcher now has POSIX behavior.
167
168	* tests/bre.tests: grep '\{' is no longer an error.
169	Fix test for interval too large, and enable it.
170	* tests/ere.tests: grep -E {1 is no longer an error
171	Likewise for a{1, a{1a, a{1a}, a{1,x}.
172
1731999-09-22  Paul Eggert
174
175	* largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
176	2.95.1 bug with HP-UX 10.20.
177
1781999-09-12  Paul Eggert
179
180	* src/grep.c (fillbuf): Fix typo: we sometimes reported
181	arithmetic overflow even when there wasn't any.
182
1831999-09-12  Paul Eggert
184
185	* configure.in (AC_CHECK_FUNCS): Add memmove.
186
187	* src/system.h (S_ISREG): New macro.
188	(memmove): Define if ! defined HAVE_MEMMOVE && ! defined memmove,
189	not if !defined STDC_HEADERS.  This is needed for SunOS 4.1.4,
190	which defines STDC_HEADERS but lacks memmove.
191
192	* src/grep.c (bufoffset): Needed even if !defined HAVE_MMAP.
193	(reset): Always fstat the file, since we always need its size if it is
194	regular.
195	Similarly, get the buffer offset of every regular file.
196	Set bufmapped to 0 if the file's initial offset is not a multiple
197	of the page size.
198	(fillbuf): Calculate an upper bound on how much memory we should
199	allocate only for regular files, since we don't know the sizes of
200	other files.
201	Don't bother to check whether the file offset is a multiple of the page
202	size, since we now do that just once in `reset'.
203	When an mmapped area would fall past the end of the file, trim it to
204	just before instead of giving up immediately and doing a `read';
205	that avoids a worst-case behavior that could read half an mmapped file.
206	Fix bug when computing offsets on hosts that don't have mmap.
207
2081999-08-27  Paul Eggert
209
210	* src/system.h (memmove): New macro.
211
212	* src/grep.c (page_alloc): Reallocate the old buffer instead
213	of having both old and new buffers active simultaneously.
214	Remove valloc debugging variant, which no longer applies.
215
216	(fillbuf): Rejigger the buffer allocation mechanism.  The old
217	mechanism could allocate more than 10*N bytes for an N-byte
218	file, which was excessive.  Check for arithmetic overflow a
219	bit more carefully.
220
2211999-08-25  Paul Eggert
222
223	* src/grep.c (grepdir):
224	Don't assume that st_ino and st_dev must be integers;
225	POSIX.1 allows them to be floating-point (!).
226
227	* src/vms_fab.h (arr_ptr): `:' -> `;' to fix typo.
228
2291999-08-18  Alain Magloire
230
231	* 2.3e snapshot.
232
2331999-08-18  Alain Magloire
234
235	* src/search.c: On a CRAY J90 system running UNICOS 8.0.
236	Compilation of ./src/search.c failed because the declaration of
237	the variable "regex":
238	  static struct re_pattern_buffer regex;
239	conflicted with a previous declaration search.c #includes "system.h",
240	which #includes <stdlib.h>, which declares :
241        extern char *regex __((char *_Re, char *_Subject, ...));
242	The declaration in search.c is local to that one source file.
243	I just changed its name to something less likely to conflict.
244	(I called it "regexbuf", but you could pick any name you want.)
245	Excerpt email from Dean Kopesky.
246
2471999-08-16  Paul Eggert
248
249	Upgrade large-file support to the version used in tar and
250	textutils.
251
252	* Makefile.am (ACLOCAL_AMFLAGS): Define to be empty.
253	(M4DIR, ACINCLUDE_INPUTS): New macros.
254	($(srcdir)/acinclude.m4): New rule.
255
256	* configure.in (AC_CANONICAL_HOST, AM_C_PROTOTYPES): Add.
257	(AC_SYS_LARGEFILE): Renamed from AC_LFS, for compatibility
258	with what should appear in the next autoconf release.
259
260	* m4/largefile.m4: Renamed from m4/lfs.m4.
261
262	* src/ansi2knr.1, src/ansi2knr.c, config.guess, config.sub:
263	New files.  config.guess and config.sub ar needed by the new
264	AC_SYS_LARGEFILE.  ansi2knr is needed by AM_C_PROTOTYPES,
265	which in turn is needed by the new AC_SYS_LARGEFILE.
266
2671999-08-16  Alain Magloire
268
269	* 2.3d snapshot on ftp server.
270
2711999-07-26  Paul Eggert
272
273Several GNU tools have options to process arbitrary file names, even
274file names that contain newline characters.  These include `find
275-print0', `perl -0', `sort -z', and `xargs -0'.  It'd be handy if GNU
276grep also processed such file names.  Here's a proposed patch to do
277this, relative to grep 2.3c.  This patch introduces two options, one
278for the data, and one for the file names.  (Sometimes one wants
279null-terminated file names in the output, and sometimes one wants to
280process lists of null-terminated strings, and these are orthogonal
281axes.)
282
283        * NEWS, doc/grep.texi: New -z or --null-data and -Z or --null options.
284        * src/grep.c (long_options, usage, main): Likewise.
285
286        * src/dfa.h (dfasyntax): New eol parameter.
287        * src/dfa.c (eolbyte): New var.
288        (dfasyntax): Set it from new parameter.
289        (lex, dfastat, build_state, dfaexec): Use it instead of '\n'.
290
291        * src/grep.h (eolbyte): New decl.
292        * src/grep.c (eolbyte): New var.
293        (nlscan, prpending, prtext, grepbuf, grep): Use it instead of '\n'.
294        (filename_mask): New var.
295        (prline, grepfile): Output NUL separator if filename_mask is zero.
296        (grep): Look for '\200' as the hallmark of a binary file, not '\0',
297        if -z or --null-data is specified, since it implies that '\0' is
298        expected as text.
299
300        * src/search.c (Gcompile, Ecompile): Pass eolbyte to dfasyntax.
301        (EGexecute, Fexecute): Use eolbyte instead of '\n'.
302
3031999-06-15 Alain Magloire
304
305	* src/grep.c, doc/grep{1,texi} : 
306	--revert-match should be --invert-match.
307	Correction proposed by Karl Berry.
308
3091999-06-12 Alain Magloire
310
311	* doc/grep.{1,texi}: add description for --with-filename.
312	Noted missing by UEBAYASHI Masao.
313
3141999-03-17 Paul Eggert
315
316	* NEWS: Add GREP_OPTIONS.
317
318	* doc/grep.texi: Document GREP_OPTIONS, and the other
319	environment variables.  Fix doc for [:blank:], [:cntrl:], [:punct:].
320
321	* src/grep.c (prepend_args, prepend_default_options): New functions.
322	(main): Use them to implement GREP_OPTIONS.
323	* src/system.h (getenv): New decl.
324
3251999-03-16 Volker Borchert
326
327	* configure.in: Use case case ... esac for  checking Visual C++.
328	When ${CC} contains options it was not recognize.
329
3301999-03-07 Paul Eggert
331
332	* src/grep.c (usage): Don't report -E, -F, and -G unless we're grep.
333	(main): Don't match options -E, -F, and -G unless we're grep.
334	Remove after-the-fact check for options -E, -F, and -G, since
335	they're no longer needed.
336
3371999-03-05  Eli Zaretskii
338
339	* src/grep.c (main): Print the name of the default matcher instead
340	of just "grep".                                                        
341
3421999-02-06 Alain Magloire
343
344	* tests/*.awk : Linux users are seeing "Broken Pipe" on make check.
345	The problem is that grep does not drain its stdin, thus the previous
346	process in the pipeline receives a SIGPIPE.  Other shells are silent
347	about this.  There is actually no failure, since the broken pipe is
348	expected.  You can work around it by changing the pipeline, so that
349	the input is drained, like this:
350	status=`echo 'check' | { ${GREP} -E -e pattern >/dev/null 2>&1;
351	echo $?; cat >/dev/null; }`; if test $status -ne $errnu then ... fi
352	Excerpt email from Andreas Schwab.                              
353
3541999-02-23 Alain Magloire
355
356	* src/grep.c : Restrict the use of -E, -F, -G
357	to only grep driver, Posix behaviour. {f,e}grep
358	the matcher is already set. This change may brake
359	scripts, warn in NEWS.
360
361	* doc/grep.{1,texi} : -C takes arguments, upgrade manual.
362
363	* beta 2.3a
364
3651999-02-23 Alain Magloire
366
367	* configure.in : Change the configure VC test from
368	'test x$ac_cv_prog_CC = xcl;' to 'test x"$ac_cv_prog_CC" = xcl;'
369	Email from Joshua R. Poulson.
370
3711999-02-23 Paul Eggert
372
373	Fix porting bug reported by Amakawa Shuhei for SunOS 4.1.4-JL.
374	The btowc.c shipped with grep 2.3 is incorrect for Solaris
375	2.5.1 and earlier, as it assumes UTF8, which these OSes do not
376	support.  Solaris 7 supports btowc, so there's no need to ship
377	a substitute for it.  The only questionable case is Solaris
378	2.6, which lacks btowc but does support UTF8.  However, 2.6
379	supports UTF8 but only as a demonstration (for an English
380	locale!); Japanese Solaris 2.6 users typically use EUC, or
381	sometimes shift-JIS, but they cannot use UTF8 since Japanese
382	UTF8 is not supported.  Hence there's no point to having grep
383	substitute a btowc that uses UTF8, as it is either redundant,
384	or it will almost invariably have incorrect behavior.
385
386	* configure.in (AC_CHECK_HEADERS): Don't set USE_WCHAR.
387	(AC_CHECK_FUNCS): Add btowc, wctype.
388	(AC_REPLACE_FUNCS): Don't replace btowc; our replacement is
389	invariably doing the wrong thing anyway, at least on SunOS/Solaris.
390	Don't bother to check for wctype in -lw, as we don't support
391	wide characters on Solaris 2.5.1 or earlier anyway.
392
393	* bootstrap/Makefile.try (OBJS): Remove btowc.$(OBJEXT).
394
395	* src/btowc.c: Removed; no longer needed.
396
3971999-02-19  Paul Eggert
398
399	* NEWS: Fix typo when talking about the old behavior of
400	silently skipping directories; it was grep 2.1, not grep 2.2.
401
4021999-02-15 Alain Magloire
403
404	* bootstrap/Makefile.try : add DJGPP DEFS.
405	Done by Elie Zaretsckii.
406
4071999-02-14 Alain Magloire
408
409	* m4/gettext.m4 : Guard [] with changequote.
410	From Elie Zaretskii.
411
412	* djgpp/config.bat : Makefile.in.in --> Makefile.in-in
413	From Elie Zaretskii.
414
415	* src/dosbuf: k&r function parameter.
416
417	* release of 2.3.
418
4191999-02-10 Alain Magloire
420
421	* bootstrap/{Makefile{try,am},REAMDE} : skeleton
422	provided for system lacking the tools to autoconfigure.
423
424	* src/{e,f,}grepmat.c: added guard [HAVE_CONFIG_H]
425
4261999-02-10 Alain Magloire
427
428	* PATCHES-AC, PATCHES-AM: updated.
429
430	* m4/regex.m4 : updated.
431
4321999-02-05 Eli Zaretskii
433
434	* m4/gettext.m4 : Support DOS-style D:/foo/bar absolute file
435	names.
436
437	* aclocal.m4 (DJGPP) : Use $DJ_GPP instead, since changing the
438	latter prevents GCC from finding headers and libraries.
439
440	* djgpp/config.bat: Make building from another directory work
441
442	* djgpp/config.sed: Remove redundant command wich edited path
443	separator: now done by configure.
444
445	* src/grep.c [O_BINARY]: Add prototype for undossify_input.
446
447	* doc/grep.texi (Introduction): Typo fixed.
448
4491999-02-03 Alain Magloire
450
451	* grep-2.2f beta release.
452
4531999-02-02 Alain Magloire
454
455	* m4/{djgpp,envsep,glibc,regex,dosfile,isc-posix}.m4 :
456	New files to aid configuration and unload configure.in.
457	* m4/Makefile.am : updated.
458	* src/btowc.c : protect for wchar.h
459
4601999-01-28 Alain Magloire
461
462	* intl/Makefile.in: Replace .o with .${ac_objext} where necessary.
463	Work around a limitation of Visual C++ on Cygwin32.
464	* acconfig.h configure.in: Define `alloca' as `_alloca' when CC=cl.
465	This little hack was suggested by Ian Roxborough <irox@cygnus.com>.
466	Patch forwarded by Ben Elliston.
467
4681999-01-28 Alain Magloire
469
470	* PATCHES-AM: New file. A small patch for automake-1.4, use $(sep)
471	as the path separator base on @SEP@.
472	* PATCHES-AC configure.in : updated for autoconf-13.
473 
4741999-01-27 Volker Borchert
475
476	* grep.c: fgrep -NUM not working correctly.
477	add the argument number to digit_args_val.
478
4791999-01-22 Paul Eggert
480
481	Prevent grep -r from recursing infinitely through directory loops via
482	symbolic links.
483
484	* grep.c (struct stats): New type.
485	(stats_base): New var.
486	(bufstat): Remove; subsumed by stats->stat.
487	(reset, fillbuf, grep, grepdir, grepfile): Pass struct stats * arg,
488	for directory loop checking; use this instead of the bufstat global.
489	All callers changed.
490	(grepfile): Stat the file before invoking grepdir.
491	(grepdir): Assume that the argument has already been statted.
492	No longer a need for a directory size argument, since it
493	can be gotten from the struct stats * argument.
494	Check for directory loops.
495	Create linked list of directories currently being visited,
496	to detect loops.
497
4981998-12-29 Kaveh R. Ghazi
499
500	intl/localealias.c: When building grep-2.2e using cc on Irix4,
501	I needed the following patch to intl/localealias.c.
502	(Its the same patch used by fileutils-4.0.) The patch resolves
503	conflicts between char* and unsigned char* in the i18n code.
504
5051998-12-10 Alain Magloire
506
507	* src/grep.c : Typo in contex -->context
508	Noted by  Vladimir Michl.
509
5101998-12-01  Alain Magloire
511
512	* doc/Makefile.am djgpp/Makefile.am m4/Makefile.am vms/Makefile.am:
513	New files.
514
515	* m4/progtest.m4: proctect '[]' from m4.
516	Noted by Eli Z.
517
518	* PATCHES-AC: New file, add the patch for autoconf in the dist.
519
520	* acconfig.h: (HAVE_DOS_FILENAME)
521
522	* TODO: updated.
523
524	* src/search.c: remove obsolete 'gegrep,ggrep,gnugrep'
525	matchers. grep no longer depend on argv[0].
526
527	* grep-2.2e beta to test DJGPP port.
528
5291998-11-28  Paul Eggert
530
531	Various portability enhancements:
532	- Don't assume that O_BINARY implies DOS.  Use separate
533	macros D_OK (for DOS-like directory access) and
534	HAVE_DOS_FILE_NAMES (for DOS-like file names).
535	- Don't assume that off_t fits into long; it doesn't on Solaris 2.6.
536	- Have is_EISDIR set errno properly on hosts with screwed-up EISDIR.
537	- Treat ':' specially in DOS file names only if it's the end of a
538	drive specifier.
539	- Protect against errno < 0.
540
541	* src/grep.c (is_EISDIR): Move defn to system.h.
542	(print_offset_sep): New function.
543	(fillbuf): Remove redundant test of O_BINARY.
544	(totalcc, totalnl): Now of type off_t.
545	(prline): Use print_offset_sep to print file offsets.
546	(grepfile): Don't set e to EISDIR; that's is_EISDIR's responsibility
547	on machines that don't work properly with EISDIR.
548	(grepdir): Don't assume ':' means slash on all DOS filenames;
549	it means it only in the file prefix.
550
551	* src/system.h (strerror): Check for negative error numbers.
552	(is_EISDIR): Depend on D_OK, not O_BINARY.
553	(SET_BINARY): Depend on HAVE_SETMODE, not __DJGPP__.
554	(IS_SLASH, FILESYSTEM_PREFIX_LEN): Depend on HAVE_DOS_FILE_NAMES,
555	not O_BINARY.
556	(CHAR_BIT): New macro.
557
558	* src/dosbuf.c (struct dos_map):
559	pos and add members are now of type off_t.
560	(dos_stripped_crs): Now of type off_t.
561	(dossified_pos): Now accepts arg and returns value of type off_t.
562
563	* configure.in (AC_CHECK_FUNCS): Add setmode.
564	(HAVE_DOS_FILENAMES): New macro
565
5661998-11-27  Eli Zaretskii
567
568	* djgpp/config.sed: New file, a Sed script to edit configure
569	script before running it on DOS/Windows.
570	* djgpp/config.bat: Updated to handle po2tbl.sed.in and
571	po/Makefile.in.in on DOS filesystems, and to run config.sed.
572
5731998-11-24  Jim Meyering
574
575	* src/grep.c : Typo s/infalid/invalid/
576	Also noted by Stanislav Brabec.
577
5781998-11-24  Eli Zaretskii
579
580	* doc/grep.texi: I found and corrected several typos.
581	I believe the GNU standards require the section that describes the
582	options to the programs to be called ``Invoking'' or ``Invoking
583	<program-name>''.  This is so users and programs can easily find
584	that node in any Info file.  So I changed the name of the
585	`Options' chapter to `Invoking', and corrected the
586	cross-references accordingly.
587	I added some markup to things like file names and options.
588	I added some additional index entries where that seemed useful.
589	I also corrected some index entries, such as "@cindex [:alnum:]",
590	which used a colon in them (the colons confuse Info readers).
591
5921998-11-24  Alain Magloire
593
594	* grep/doc/grep.texi : -h is not use for help.
595	Nit spotted by Jim Meyering.
596
5971998-11-23  Alain Magloire
598
599	* doc: New directory, grep.1, {e,f}grep.man move here
600	* doc/grep.texi: New info manual
601	* doc/version.texi: New
602	* doc/Makefile.am: New
603	* tests/{ere,bre}.*: New files. The spencer2 test is split
604	in two ere/bre.
605	* config.hin: New, config.h.in rename to config.hin for OS
606	with limited file system aka DOS.
607
608	* grep-2.2d release for beta.
609
6101998-11-18  Alain Magloire
611
612	* src/regex.[ch] : Updated from GLibc, previous patches were
613	integrate by Ulrich Drepper and some added ones.
614
6151998-11-16  Paul Eggert
616
617	* grep.h (__attribute__): New macro, if not GCC.
618	(fatal): Add __attribute__((noreturn)).
619	* grep.c (usage): Add __attribute__((noreturn)).
620
6211998-11-16  Paul Eggert
622
623	Remove memory leak with valloced buffers, by invoking malloc instead.
624
625	* configure.in (AC_CHECK_FUNCS), src/system.h (valloc): Remove.
626	* src/grep.c (page_alloc): New function.
627	(ubuffer, pagesize): New vars.
628	(ALIGN_TO): New macro.
629	(reset): Initialize new vars.  Check for overflow in buffer size calc.
630	Use page_alloc instead of valloc.
631	(fillbuf): Likewise.  Use memcpy to copy saved area.
632
6331998-11-15  Paul Eggert
634
635	* dfa.c (dfacomp), search.c (EGexecute): Don't assume char is unsigned.
636
6371998-11-14  Paul Eggert
638
639	* src/grep.c (grepdir): Fix bug: memory freed twice.
640
641	* src/search.c (Gcompile, Ecompile): Don't invoke dfainit,
642	since dfacomp does it for us, and if we also do it then we
643	leak memory.
644
6451998-11-13  Eli Zaretskii
646
647	* djgpp/config.bat: Rewrite to run the configure script via Bash.
648	* djgpp/config.site, djgpp/getconf: New files.
649	* djgpp/config.h, djgpp/*.mak, djgpp/po2tbl.sed: Remove.
650	* djgpp/README: Update instructions.
651
652	* Makefile.am (EXTRA_DIST): Update the list of DJGPP files.
653
654	* src/system.h (IS_SLASH): New macro.
655	(is_EISDIR): Define it here for DOS and Windows.
656
657	* src/grep.c (main) [O_BINARY]: Set stdout to binary mode, so the
658	EOL formats of the input and output files match, unless stdout is
659	the console device.
660	(is_EISDIR): Don't define if already defined.  Accept a second
661	argument, the file name; all callers changed.
662	(grepdir): Don't free `file', inside the loop.  Use IS_SLASH to
663	check whether `dir' needs a slash.
664	(grepfile): If file is a directory, set e to EISDIR.
665
6661998-11-10  Alain Magloire
667
668	* src/vms_fab.{c,h}: New file for VMS wildcard expansion
669	Written by Phillip C. Brisco.
670
671	* vms/make.com : add line to compile vms_fab.c and
672	{e,f,}grepmat.c with link for each grep/fgrep/egrep.
673	Base on patch send by Phillib C. Brisco.
674
6751998-11-09  Alain Magloire
676
677	* grep-2.2c on alpha for testing.
678
6791998-11-09  Paul Eggert
680
681	* src/grep.1: Fix `Last Change' of output by generating the date
682	from the RCS Id.
683
684	* src/grep.c (is_EISDIR): New macro.
685	(grep): If -s, suppress errors from trying to read directories.
686	(grepfile): Use is_EISDIR to simplify code.
687	(grepdir): If -s, suppress errors from trying to read directories.
688
689	* src/grep.1: Fix -q -r -s problems; describe BSD grep better.
690
691	* src/grep.c (main): Update copyright.
692
693	Specify default matcher with default_matcher extern var, not
694	DEFAULT_MATCHER macro.  This is more straightforward and means
695	we need to compile grep.c just once.
696
697	* src/egrepmat.c, src/fgrepmat.c, src/grepmat.c: New files.
698
699	* src/Makefile.am (base_sources): New macro.
700	(egrep_SOURCES, fgrep_SOURCES, grep_SOURCES): Now consist of
701	$(base_sources) plus the single tailoring file.
702	(grep_LDADD, egrep_LDADD, fgrep_LDADD): Remove.
703	(EXTRA_DIST): Remove grep.c, regex.c.
704	(fgrep.o, egrep.o): Remove.
705
706	* src/grep.h (matcher): Now char const *.
707	(default_matcher): New decl.
708
709	* src/grep.c (matcher): Now char const *.
710	(setmatcher): Now accepts char const *.
711	(main): Default the matcher from default_matcher (linked externally)
712	rather than DEFAULT_MATCHER (a macro).
713
7141998-11-08 Alain Magloire
715
716	* src/grep.1: `prep.ai.mit.edu' should be replaced with `gnu.org'.
717	Nit from Paul Eggert.
718
7191998-11-06 Alain Magloire
720
721	* src/grep.c: The Matcher is not set to argv[0] but
722	explicitly by a #define MATCHER at compile time default is "grep".
723
724	* aclocal/: NEW dir. provides our own *.m4
725
726	* configure.in: Move Paul's Large Files to AC_LFS.(aclocal/lfs.m4)
727	Taken from Jim Meyering fileutils.
728
7291998-11-05 Alain Magloire
730
731	* src/grep.1: update the man pages according to the
732	changes make by Miles.
733
734	* po/*.po: updated.
735
736	* first beta release for 2.3 (2.2a).
737
7381998-11-04 Miles Bader
739
740	* src/grep.c (main): Rationalize interaction of -C/-NUM/-A/-B
741	options, and allow -C to have an optional argument. -NUM can
742	now be mixed with -C, and -A, -B always take precedence over
743	-C/-NUM, regardless of order.
744	(long_options): Let -C/--context take an optional argument.
745
7461998-11-03 Alain Magloire
747
748	* src/dfa.c: HP-UX define clrbit/setbit as macros in <sys/param.h>
749	#undef if defined.
750	Fixed by Andreas Ley and Philippe Defert.
751
752	* src/grep.1 : mention that -s follows POSIX.2 behavior.
753	Noted by Paul Eggert and others.
754
755	* tests/khadafy.sh: a typo in failure(s).
756	Spotted By Sotiris Vassilopoulos.
757
7581998-11-01  Paul Eggert
759
760	* src/system.h (IN_CTYPE_DOMAIN): New macro.
761	(ISALPHA, ISUPPER, ISLOWER, ISDIGIT, ISXDIGIT, ISSPACE,
762	ISPUNCT, ISALNUM, ISPRINT, ISGRAPH, ISCNTRL): Use
763	IN_CTYPE_DOMAIN instead of isascii.
764
7651998-08-18  Paul Eggert
766
767	Add support for new -r or --recursive (or -d recurse or
768	--directories=recurse) option.
769
770	* src/Makefile.am (grep_SOURCES): Add savedir.c, savedir.h, stpcpy.c.
771
772	* src/grep.1: Describe new options.
773
774	* src/grep.c: Include "savedir.h".
775	(long_options): Add -r or --recursive.
776	(RECURSE_DIRECTORIES): New enum value.
777	(IS_DIRECTORY_ERRNO): Remove.
778	(reset, grep): Add file name arg.
779	(grepdir, grepfile): New functions.
780	(initial_bufoffset): New var.
781	(reset): Initialize it.
782	(fillbuf): Use it.
783	(count_matches, list_files, no_filenames, suppress_errors): New static
784	vars; formerly were local to `main'.
785	(grep): Recurse through directories if the user asks for this.
786	(usage, main): Add new options.
787	(main): Change some local vars to be static, as described above.
788	Move most of the guts into grepfile function.
789	so that it can be recursed through.
790
791	* configure.in (AC_HEADER_DIRENT, AC_FUNC_CLOSEDIR_VOID): Add.
792	(AC_REPLACE_FUNCS): Add stpcpy.
793
794	* src/savedir.c, src/savedir.h, src/stpcpy.c: New files;
795	taken from fileutils 3.16u.
796
7971998-08-11  Paul Eggert
798
799	* src/system.h (initialize_main): New macro.
800	* src/grep.c (main): Invoke initialize_main first thing.
801
8021998-04-29  Paul Eggert
803
804	* NEWS, src/grep.1: Describe new -a and -d options.
805
806	* src/grep.c (long_options, usage, main):
807	New options -d or --directories and -a or --text.
808	(directories, always_text): New variables.
809	(IS_DIRECTORY_ERRNO): New macro.
810	(reset): Now returns value specifying whether to skip this file.
811	Stat the file if either mmap or directory-skipping is possible.
812	Skip the file if it's a directory and we're skipping directories.
813	(grep): Skip the file if `reset' tells us to.
814	(main): If open fails because the file is a directory, and if we're
815	skipping directories, don't report an error.
816	Remove special case for DOS and Windows.
817
818	* src/dosbuf.c (guess_type): Use the same method for guessing whether a
819	file is binary as grep.c's grep does.
820	There's no longer any need to declare `bp' to be unsigned.
821
8221998-04-26 Alain Magloire
823
824	* grep-2.2 release.
825
826	* src/dfa.c: Wrong revision was pulled out
827	for beta 2.1.1d.
828	* src/search.c: Wrong revision was pulled out
829	for beta 2.1.1d.
830
831	* src/grep.c: ck_atoi () added instead of atoi ().
832	Suggestion from Jim Meyering.
833	ck_atoi () pulled from diffutils-2.7, maintained by Paul Eggert.
834
835	* AUTHORS: Rephrase of some sentences.
836	* README:  Rewording.
837	Noted and patched by Joel N. Weber II.
838
8391998-04-17 Kaveh R. Ghazi
840
841	* src/dfa.h: Don't define `const', trust autoconf to handle it.
842
8431998-04-16 Alain Magloire
844
845	* tests/{status,empty}.sh: wrong return status.
846
847	* src/grep.c: Remove the REGEX part in usage (), it was
848	consider overkill by most.
849
8501998-04-14  Eli Zaretskii
851
852	* djgpp/config.bat: Support file names with multiple dots on all
853	platforms.
854
855	* djgpp/README: Add instructions about file names illegal on
856	MS-DOS.
857
8581998-04-13 Alain Magloire
859
860	* src/dfa.c: by "popular" demand reverse
861	back to '_' not word-constituent.
862
863	* grep-2.1.1c available for testing.
864
8651998-04-13  Karl Heuer
866
867	* src/grep.c: (a) The directory check is done too early:
868	logically, if the argument is "-", then it refers to standard
869	input, regardless of whether there's something in the file
870	system answering to "-".
871	(b) The sh command "grep -l root /etc/passwd /etc/group 0<&-"
872	prints "(standard input)" instead of "/etc/passwd", because it
873	mistakenly believes that a named file will never be opened on fd
874	0.  The string "(standard input)" should be based on the file
875	having been originally specified as "-", rather than making
876	assumptions about the fd.
877	(c) the code that calls close(fd) is being done outside of the
878	test for a bad fd.  Thus, if the open failed, this code will
879	attempt to close(-1).  It should be done inside the "fd != -1"
880	branch.
881	This patch addresses all three of these problems.
882
8831998-04-13 Alain Magloire
884
885	* configure.in: remove the deprecated AC_ISC_POSIX macro.
886	Spotted by Karl Heuer.
887
8881998-04-03  Eli Zaretskii
889
890	* djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated from the
891	relevant Makefile.in files.
892
893	* djgpp/config.bat: Create files in intl directory like the
894	configure script does.
895
8961998-03-28  Eli Zaretskii
897
898	* djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated to track
899	changes in respective Makefile.in files.
900
901	* src/dosbuf.c (guess_type): Avoid running off the end of the
902	buffer.  Spotted by Paul Eggert.
903
9041998-03-27  Alain Magloire
905
906	* grep-2.1.1b.tar.gz available.
907
908	* src/regex.c: CLASS_CHAR_MAX set to 256 instead of 6
909	when WCTYPE and WCHAR are not defined. When class names
910	where bigger then 6, it will not detect an error.
911	example '[[:alphabet:]]'.
912
913	* Updated the copyright of the files with emacs.
914	With emacs Jim :).
915
9161998-03-26 Jim Meyering
917
918	* src/dfa.c (IS_WORD_CONSTITUENT): Define.
919	(lex): Use IS_WORD_CONSTITUENT, not ISALNUM.
920	Don't special-case '_'.
921	(dfastate): Use IS_WORD_CONSTITUENT, not ISALNUM.
922	(dfaexec): Likewise.
923
9241998-03-25  Alain Magloire
925
926	* tests/warning.sh: typos and replace the echos with
927	a simple cat.
928	Noted By Jim Meyering.
929
930	* src/regex.c: #undef ISASCII and ISPRINT before defining
931	them(On Solaris it was define).
932	Pattern 'a[[:]:]]b' is an invalid char class and the error
933	from regex was 1(REG_NOMATCH) instead of 2 (REG_ECTYPE).
934	Fix with help from Ulrich Drepper.
935
936	* src/grep.c (usage): Ulrich wrote: "A single printf should
937	not have more than 900 bytes. For translation reasons the
938	text shouldn't be split in too many pieces since this is
939	tiresome and also does not help to generate a consistent picture."
940	Noted by Ulrich Drepper.
941	* src/grep.c (usage): Dig out and old patch from
942	Franc,ois to explain the regex in usage().
943	Ideas from Franc,ois Pinard.
944
9451998-03-23 Alain Magloire
946
947	* testing: grep-2.1.1a for testing.
948
949	* configure.in: Solaris needs '-lw' if we use wchar/wctype
950	functions.
951	* src/btowc.c: New file from GNU libc. Solaris 2.5 don't
952	have it define.
953	* configure.in : check for btowc ().
954
955	* regex.c: Include <wchar.h> before <wctype.h>, to work around
956	a Solaris 2.5 bug.
957	Patch provided by Paul Eggert.
958
959	* tests/status.sh: new file to check return status code.
960	* tests/empty.sh: new file to check for empty pattern.
961	* tests/warning.sh: new file to tell where to report errors.
962
963	* configure.in: If available, prefer support for large files
964	unless the user specified one of the CPPFLAGS, LDFLAGS, or LIBS
965	variables.
966	Done by Paul Eggert.
967
968	* src/grep.c (usage): change prep.ai.mit.edu for gnu.org.
969
9701998-03-18 Alain Magloire
971
972	* src/grep.c (usage): Formating the --help message a bit off.
973	Noted by William Bader.
974
975	* src/grep.c (main): When checking conflicting matcher for option -E the
976	matcher was to "egrep" instead of "posix-egrep".
977	Reported by kwzh@gnu.org.
978
979	* src/grep.c: Typos and rewording the --help message.
980	Reported by Karl Heuer.
981
982	* src/grep.1: The man page wording :
983	  A regular expression matching a single character may be
984	  followed by one of several repetition operators:
985	is unclear since 'x(yz)*z' is a valid regex.
986	Remove the "matching a single character".
987	Suggested by Harald Hanche-Olsen.
988
989	* src/grep.c (main): `-f /dev/null' now specifies no patterns
990	and therfore matches nothing.
991	Reported by Jorge Stolfi.
992	Patched by Paul Eggert.
993
9941998-03-10 Alain Magloire
995
996	* Ice storm 98(el nino). Lost grep repository disk,
997	and my $HOME directory, etc ..
998	Trying to get the emails/patch from dejanews.com
999	and start from grep-2.1.
1000	sigh ....
1001
10021997-11-01 Alain Magloire
1003
1004	* src/grep.c: For the long options, the problems are:
1005	--file appears in the option table as 'no_argument'
1006	instead of 'required_argument'.
1007	--files-with-matches is missing from the option table.
1008	The help lists '--fixed-strings' as the long option for -F,
1009	the table has '--fixed-regexp'.
1010	--regexp appears in the option table as 'no_argument'
1011	instead of 'required_argument'.
1012	--with-filename is missing from the option table.
1013	Reported by Grant McDorman and Krishna Sethuraman.
1014
10151997-10-19 Alain Magloire
1016
1017	* src/grep.c: the option "with-filename was not in the arg table.
1018	Corrected by Jim Hand.
1019
1020	* GNU gettext library from gettext-0.10.32.
1021
1022	* src/grep.c: reverse back to greping directories,
1023	One could skip the error message by defining
1024	SKIP_DIR_ERROR. There is no clear way of doing
1025	things, I hope to setle this on the next majore release
1026	Thanks Paul Eggert, Eli Zaretskii and gnits for the
1027	exchange.
1028
1029	* tests/status.sh: add this check to make sure
1030	That the return status code is ok.
1031
10321997-10-10 Andreas Schwab
1033
1034	* src/grep.1: Fix formatting.
1035
1036	* configure.in: Check for wctype.h, wchar.h, libintl.h and
1037	isascii, which are needed for regex.c.
1038
10391997-10-01 Paul Eggert
1040
1041	* src/grep.c (fillbuf): Don't warn about mmap failures.
1042
10431997-09-7 Alain Magloire
1044
1045	* src/grep.c: added code for -H --with-filename.
1046
1047	* djgpp/*: patch wrongly apply
1048	duplication of text in djgpp/{README,config.h}.
1049	Filter djgpp/config.bat with unix2dos.
1050
1051	* djgpp/make.mak: beautify
1052	From Eli Zaretskii.
1053
1054	* grep-2.1 release.
1055
10561997-09-01 Alain Magloire
1057
1058	* grep-2.0f out for testing.
1059
1060	* update to GNU gettext library from gettext-0.10.31
1061
1062	* grep.c : have a nicer format for --version.
1063	Noted by Ulrich Drepper.
1064
1065	* obstack.[ch]: updated from GNU C library
1066	* configure.in: look for stdlib.h [HAVE_STDLIB_H]
1067	Comments from Ulrich Drepper.
1068
10691997-08-25 Philippe De Muyter  <phdm@info.ucl.ac.be>
1070
1071	* src/dfa.c (sys/types.h): File included unconditionnaly.
1072
10731997-08-16  Eli Zaretskii  <eliz@is.elta.co.il>
1074
1075	* grep.c (long_options) [O_BINARY]: Add DOS-specific options.
1076	(fillbuf) [O_BINARY]: For DOS-style text files, strip CR
1077	characters at end of line.
1078	(prline) [O_BINARY]: Report correct byte offsets, even though CR
1079	characters were stripped when reading the file.
1080	(usage) [O_BINARY]: Add DOS-specific options.
1081	(setmatcher) [HAVE_SETRLIMIT]: Set re_max_failures so that the
1082	matcher won't ever overflow the stack.
1083	(main) [__MSDOS__, _WIN32]: Handle backslashes and drive letters
1084	in argv[0], remove the .exe suffix, and downcase the prgram name.
1085	[O_BINARY]: Pass additional DOS-specific options to getopt_long
1086	and handle them.  Call stat before attempting to open the file, in
1087	case it is a directory (DOS will fail the open call for
1088	directories).  Switch the input descriptor to binary mode, unless
1089	it is a terminal device.
1090
1091	* system.h [O_BINARY]: Define macros to switch a handle to binary
1092	mode, so binary files could be grep'ed on MS-DOS and MS-Windows.
1093	[HAVE_SETLOCALE]: Test for HAVE_SETLOCALE instead of
1094	HAVE_LC_MESSAGES, to prevent compilation error in grep.c on
1095	systems which don't define HAVE_LC_MESSAGES, but have setlocale.
1096
1097	* dosbuf.c: New file, functions specific for MS-DOS/MS-Windows.
1098	(guess_type, undossify_input, dossified_pos): New functions.
1099
1100	* djgpp/config.h, djgpp/config.bat, djgpp/main.mak, djgpp/src.mak,
1101	djgpp/po.mak, djgpp/intl.mak, djgpp/tests.mak, djgpp/po2tbl.sed:
1102	New files, for building Grep with DJGPP tools for MS-DOS and
1103	MS-Windows.
1104
1105	* grep.1: Document DOS-specific switches.
1106
11071997-08-08 Alain Magloire
1108
1109	* grep-2.0e: available for testing
1110
1111	* grep.c: change LC_MESSAGE to LC_ALL for (LC_CTYPE).
1112	Suggested by Jochen Hein.
1113
1114	* ABOUT-NLS: updated.
1115	* grep.c: --version: more verbosity (COPYRIGHT).
1116	* grep.c: --help: PATTERN, FILE instead of <pattern>, <file>.
1117	* INSTALL.grep: not necessary removed.
1118	* configure.in: --disable-regex rename --without-include-regex.
1119	* THANKS: format: first row name, second email.
1120	* ChangeLog: format ISO 8601.
1121	Reported by Franc,ois Pinard.
1122
1123	* grep.c: move dcl of struct stat st into "else" where it's used.
1124	Reported by Jim Meyering.
1125
1126	* grep.c: totalnl should be %u in printf.
1127	Reported by Michael Aichlmay
1128	Corrected with guidance from Ulrich Drepper
1129
11301997-07-24 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1131
1132	* Makefile.am: corrected an error when installing {f,e}grep.1.
1133	From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
1134	From Ulrich Drepper <drepper@cygnus.com>.
1135
1136	* Many files: use PARAMS instead of __STDC__ for prototypes.
1137	From Jim Meyering <meyering@eng.ascend.com>.
1138	Patch provided by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
1139
1140	* dfa.[ch]: uses the one in gawk-3.0.3 with the patch from
1141	Arnold (see Changelog: July 12 1997)
1142
1143	* grep.1: a note to say -l, -L, -q stop on first match.
1144	Noted by Andrew Beattie <gaffer@tug.com>.
1145
1146	* grep.c: refuse to scan if the file is a directory.
1147	This was causing problems on SUNs. If the directory contains
1148	a file that could match the pattern, garbage was display.
1149
1150	* tests directory: added new set of tests from Henry Spencer
1151	regex package. Change the way the tests were done to be more
1152	conformant to automake.
1153
1154	* configure.in: added --disable-regex for folks with their own fuctions.
1155
1156	* grep-20d : available for testing
1157
11581997-07-18 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1159
1160	* grep-2.0c: available for testing
1161
11621997-07-17 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1163
1164	* src/grep.c: Cause grep to fail if `fclose (stdout)' fails.
1165	From Jim Meyering <meyering@eng.ascend.com>.
1166
1167	* grep.c:usage() more consistency in the --help.
1168
1169	* egrep, fgrep were links This is in violation of GNU standards:
1170	"Please don't make the behavior of a utility depend on the name used
1171	to invoke it.  It is useful sometimes to make a link to a utility with
1172	a different name, and that should not change what it does."
1173	For now egrep and fgrep will be copies of grep. A better scheme
1174	should be found later.
1175	After discussion with Tom Tromey <tromey@cygnus.com>.
1176
1177	* fgrep.man and egrep.man included: They are stubs that call grep.1.
1178	* Makefile.am: modified to install {f,e,}grep[,.1].
1179
1180	* speed hack for -l, -L: bail out on first match.
1181	From Scott Weikart <scott@igc.apc.org>.
1182
1183	* *.[ch]: provided prototypes for strict argument checking
1184	With the help of Stewart Levin <stew@sep.stanford.edu>.
1185
11861997-07-16 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1187
1188	* configure.in: typo in the creation of po/Makefile
1189	Noted by Volker Borchert bt@teknon.de.
1190
1191	* grep-2.0b: make it available for testing.
1192
11931997-07-15 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1194
1195	* src/grep.c usage(): cut the --help in smaller printf()'s
1196	Noted by Ulrich Drepper <drepper@cygnus.com>.
1197
11981997-07-14 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1199
1200	* grep-2.0a: make an alpha available for testing.
1201
12021997-07-12 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1203
1204	* run gettextize: added the po directory filled with *.po files.
1205
1206	* check.sh, scriptgen.awk: fix grep paths.
1207
1208	* change the directory strucure: grep is now in src to comply with
1209	gettext.m4.
1210
1211	* grep.c version.c [VERSION]: got rid of version.c,
1212	it is now define via config.h.
1213
1214	* dfa.c: patch to speed up initialization.
1215	Arnold Robbins (arnold@gnu.ai.mit.edu).
1216
12171997-07-09 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1218
1219	* *.c [HAVE_CONFIG_H]: Macro defined.
1220
1221	* support for I18N in Makefile.am and configure.in.
1222
1223	* update all the string to use gettext(I18N).
1224	Help from Franc,ois Pinard previous patch <pinard@IRO.UMontreal.CA>.
1225
12261997-07-04 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1227
1228	* obstack.[ch]: updated from glibc.
1229	Work of Ulrich Drepper <drepper@cygnus.com>.
1230
1231	* regex.[ch]: updated from glibc.
1232	Work of Ulrich Drepper <drepper@cygnus.com>.
1233
1234	* grep.c: for option -e not counting '\n' for new keys.
1235	From Mark Waite <markw@mddmew.fc.hp.com>.
1236
1237	* grep.c: for option -f allocating the right count.
1238	From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
1239	Mike Heartel (mike@cs.uoregon.edu).
1240
1241	* kwset.c (bmexec): Cast tp[-2] to unsigned char before comparing.
1242	From Jim Meyering <meyering@asic.sc.ti.com>.
1243
1244	* grep.1: various typos.
1245	From Keith Bostic <bostic@bsdi.com>.
1246	Mike Heartel (mike@cs.uoregon.edu).
1247
12481997-06-17 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1249
1250	* grep.c: support for long options.
1251	patch done by Franc,ois Pinard <pinard@IRO.UMontreal.CA>.
1252
1253	* add getopt1.c in Makefile.am.
1254	Noted by Franc,ois Pinard <pinard@IRO.UMontreal.CA>
1255
1256	* replace getopt.[ch] and add getopt1.c.
1257
1258	* kwset.c: undef malloc before define it.
1259	Franc,ois Pinard <pinard@IRO.UMontreal.CA>.
1260
12611997-06-07 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
1262
1263	* grep.c: format incorrect in
1264	fprintf("%s: warning: %s: %s...", filename, strerror(errno)).
1265	Mike Heartel (mike@cs.uoregon.edu).
1266
12671996-11-19  David J MacKenzie  <djm@catapult.va.pubnix.com>
1268
1269	* make.com: Set the logical SYS. From rdb@cocamrd.oz.au (Rodney Brown).
1270
1271	* grep.c (S_ISREG): Define if not defined already, for e.g.
1272	SunOS 4.0.3.
1273
1274	* dfa.c (test_bit, set_bit, clear_bit): Renamed from tstbit,
1275	setbit, clrbit to avoid conflict with HP-UX sys/param.h macros.
1276
1277	* memchr.c: New file, from GNU libc.
1278	* grep.c (memchr): Remove definition.
1279	* configure.in: Use AC_REPLACE_FUNCS for memchr.
1280
1281	* configure.in: Remove unused checks for memalign and unsigned char.
1282	* grep.c: HAVE_WORKING_MMAP -> HAVE_MMAP.
1283
1284	* system.h: New file.
1285	* dfa.c, kwset.c, grep.c, search.c: Use it instead of duplicating
1286	portability boilerplate.
1287
1288	* grep.c: Include sys/types.h once, instead of three times
1289	conditionally.
1290	* dfa.c, kwset.c, search.c: Include sys/types.h unconditionally,
1291	to always try to get size_t (needed on some old SysV's).
1292
1293	* dfa.c: Define strchr in terms of index, not the other way around.
1294	* search.c: Use memcpy instead of bcopy.
1295
12961996-11-15  David J MacKenzie  <djm@catapult.va.pubnix.com>
1297
1298	* Many files: Update FSF address.
1299	Update configuration to use autoconf v2 and automake.
1300
13011993-05-22  Mike Haertel  <mike@cs.uoregon.edu>
1302
1303	* Version 2.0 released.
1304