ChangeLog revision 56230
156230Sru2000-01-04 Paul Eggert 256230Sru 356230Sru Inititial patch from David O'Brien. 456230Sru 556230Sru Add --binary-files option. 656230Sru * NEWS, doc/grep.1, doc/grep.texi: Document it. 756230Sru * src/grep.c (BINARY_FILES_OPTION): New constant. 856230Sru (long_options, grep, usage, main): New --binary-files option. 956230Sru (binary_files): New var. 1056230Sru * src/system.h (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, CHAR_MAX): 1156230Sru New macros. 1256230Sru (INT_MAX, UCHAR_MAX): Define in terms of TYPE_MAXIMUM. 1356230Sru 1456230Sru2000-01-04 Paul Eggert 1556230Sru 1656230Sru * savedir.c (savedir): Don't store past the end of an array if 1756230Sru name_size is zero and the directory is empty. 1856230Sru Reported by Dima Barsky <dima@pwd.hp.com>. 1956230Sru 2055360Sobrien1999-11-18 Paul Eggert 2155360Sobrien 2255360Sobrien * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a 2355360Sobrien problem with the QNX 4.25 shell, which doesn't propagate exit 2455360Sobrien status of failed commands inside shell assignments. 2555360Sobrien 2655360Sobrien1999-11-13 Eli Zaretskii 2755360Sobrien 2855360Sobrien * doc/grep.texi: Minor markup and spelling corrections. Use 2955360Sobrien @noindent where appropriate. 3055360Sobrien 3155360Sobrien * PATCHES-{AM,AC}: rename to PATCHES.{AM,AC} 3255360Sobrien 3355360Sobrien1999-11-12 Eli Zaretskii 3455360Sobrien 3555360Sobrien doc/grep.texi: Minor fixes and typos corrected. 3655360Sobrien djgpp/README: Updated version. 3755360Sobrien 3855360Sobrien1999-11-07 Paul Eggert 3955360Sobrien 4055360Sobrien * src/grep.c (usage): Fix misspelling. 4155360Sobrien 4255360Sobrien1999-11-07 Paul Eggert 4355360Sobrien 4455360Sobrien Don't assume that the C library has re_set_syntax and friends. 4555360Sobrien * src/Makefile.am (base_sources): Add regex.c, regex.h. 4655360Sobrien (EXTRA_DIST): Remove regex.c, regex.h. 4755360Sobrien 4855360Sobrien * src/grep.c (prtext): Use out_quiet, not not_text, to decide 4955360Sobrien whether to set pending to zero at the end. 5055360Sobrien (not_text): Remove static variable, undoing latest change. 5155360Sobrien (grep): Likewise. 5255360Sobrien 5355360Sobrien * doc/grep.texi: Tighten up the text, and fix some minor 5455360Sobrien spelling and usage errors. Use @enumerate rather than @table 5555360Sobrien @samp, since it's better for Q&A format. Add cross 5655360Sobrien references. 5755360Sobrien 5855360Sobrien1999-11-01 Alain Magloire 5955360Sobrien 6055360Sobrien * src/search.c: Use the more portable [[:alnum:]] 6155360Sobrien to define a word instead of Ascii dependent [0-9A-Za-z] 6255360Sobrien * src/grep.c: make not_text global to not display text when 6355360Sobrien the context switches -A/-B/-C are use on binary files. 6455360Sobrien * make grep-2.3g available for testing. 6555360Sobrien * configure.in: drop support for --without-included-regex. 6655360Sobrien This was generating bogus bug reports, since many GNU/Linux 6755360Sobrien users have different version of glibc. And glibc maintainers 6856230Sru decided to drop k&r support. 6956230Sru 7055360Sobrien1999-11-01 Arnold D. Robbins 7155360Sobrien 7255360Sobrien * regex.c (init_syntax_once): move below definition of 7355360Sobrien ISALNUM etc., then use ISALNUM to init the table, so that 7455360Sobrien the word ops will work if i18n'ed. 7555360Sobrien (SYNTAX): And subscript with 0xFF for Latin-1 characters. 7655360Sobrien 7755360Sobrien1999-10-26 Alain Magloire 7855360Sobrien 7955360Sobrien * src/regex.c: Merge changes from GNU lib C. 8055360Sobrien * Updated the *.po files 8155360Sobrien 8255360Sobrien1999-10-26 Paul Eggert 8355360Sobrien 8455360Sobrien * src/grep.c (fillbuf): Don't report buffer size overflow if 8555360Sobrien newalloc == save and maxalloc == save. This can happen 8655360Sobrien e.g. when reading a large page-aligned file that contains 8755360Sobrien no newlines. 8855360Sobrien 8955360Sobrien1999-10-21 Paul Eggert 9055360Sobrien 9155360Sobrien * src/grep.c (usage): Give example. Clarify -F. 9255360Sobrien Explain exit status more clearly. 9355360Sobrien 9455360Sobrien1999-10-12 Paul Eggert 9555360Sobrien 9655360Sobrien * doc/grep.texi: Shorten the commentary about egrep and {. 9755360Sobrien "BSD grep" -> "traditional grep". 9855360Sobrien * doc/grep.1: Match recent changes to grep.texi. 9955360Sobrien 10055360Sobrien1999-10-11 Paul Eggert 10155360Sobrien 10255360Sobrien * NEWS, doc/grep.1, doc/grep.texi: New option --mmap. 10355360Sobrien * src/grep.c (mmap_option): New variable. 10455360Sobrien (long_options, reset, usage): Add --mmap. 10555360Sobrien Default is now read, not mmap. 10655360Sobrien 10755360Sobrien * doc/grep.1: Document -Z or --null. 10855360Sobrien 10955360Sobrien1999-10-11 Paul Eggert 11055360Sobrien 11155360Sobrien * doc/grep.texi: Fix texinfo glitches. POSIX -> POSIX.2 where 11255360Sobrien appropriate. 11355360Sobrien 11455360Sobrien1999-10-11 Paul Eggert 11555360Sobrien 11655360Sobrien * acconfig.h (ssize_t): New #undef. 11755360Sobrien 11855360Sobrien * configure.in (AC_CHECK_TYPE): Add ssize_t. 11955360Sobrien 12055360Sobrien * src/grep.c (PREFERRED_SAVE_FACTOR): New macro. 12155360Sobrien (reset): If the buffer has already been allocated, set bufsalloc to 12255360Sobrien be bufalloc / PREFERRED_SAVE_FACTOR. This avoids problems when 12355360Sobrien bufsalloc == bufalloc (possible after reading a large binary file). 12455360Sobrien (reset): Use PREFERRED_SAVE_FACTOR instead of magic constant. 12555360Sobrien Do not set bufbeg; nobody uses it. 12655360Sobrien Always set buflim. 12755360Sobrien Check for lseek error. 12855360Sobrien Use SEEK_CUR, not a magic constant. 12955360Sobrien (fillbuf): Return an error indication, not a count. 13055360Sobrien All callers changed. 13155360Sobrien Do not assume ssize_t fits in int. 13255360Sobrien Use PREFERRED_SAVE_FACTOR instead of magic constant. 13355360Sobrien Clean up mmap code. 13455360Sobrien Do not attempt to mmap zero bytes. 13555360Sobrien Check for lseek error. 13655360Sobrien Use SEEK_SET, not a magic constant. 13755360Sobrien Work correctly if read is interrupted. 13855360Sobrien (grepfile): Work correctly if open or close is interrupted. 13955360Sobrien 14055360Sobrien * src/system.h (SEEK_SET, SEEK_CUR): New macros. 14155360Sobrien 14255360Sobrien1999-10-02 Alain Magloire 14355360Sobrien 14455360Sobrien * src/regex.[ch]: upgrade from GNU lib C source tree. 14555360Sobrien 14655360Sobrien * make beta 2.3f available. 14755360Sobrien 14855360Sobrien1999-10-02 Paul Eggert 14955360Sobrien 15055360Sobrien * NEWS: egrep is now equivalent to `grep -E'. 15155360Sobrien The lower bound of an interval is not optional. 15255360Sobrien You can specify a matcher multiple types without error. 15355360Sobrien -u and -U are now allowed on non-DOS hosts, and have no effect. 15455360Sobrien * doc/grep.texi: Likewise. 15555360Sobrien * doc/grep.1: Likewise. 15655360Sobrien Fix some troff bugs that prevented `groff' from rendering the page. 15755360Sobrien 15855360Sobrien * src/egrepmat.c, src/fgrepmat.c, src/grepmat.c (default_matcher): 15955360Sobrien Remove. 16055360Sobrien (matcher): Add. 16155360Sobrien * src/grep.h (default_matcher): Remove. 16255360Sobrien (matcher): Now exported from ?grepmat.c, not grep.c. 16355360Sobrien 16455360Sobrien * src/dfa.c (lex): If { would start an invalid interval specification, 16555360Sobrien treat it as a normal character. 16655360Sobrien Remove (broken) support for {,M} meaning {0,M}. 16755360Sobrien Diagnose bogus intervals like {1,0}. 16855360Sobrien (closure): maxrep is now -1 to indicate no limit, not zero; 16955360Sobrien zero is a valid value for maxrep, meaning an upper bound of zero. 17055360Sobrien 17155360Sobrien * src/grep.c (short_options): New constant. 17255360Sobrien (long_options, main): -u and -U are now supported on Unix, 17355360Sobrien with no effect. 17455360Sobrien (matcher): Removed; now defined by ?grepmat.c. 17555360Sobrien (install_matcher): Renamed from setmatcher. 17655360Sobrien (setmatcher): New function. 17755360Sobrien (usage): Report new, more uniform option scheme. 17855360Sobrien (main): Do not initialize matcher; ?grepmat.c now does this. 17955360Sobrien Rely on setmatcher to catch matcher conflicts. 18055360Sobrien Default matcher is "grep". 18155360Sobrien 18255360Sobrien * src/search.c (matchers): 18355360Sobrien Remove "posix-egrep" matcher; no longer needed. 18455360Sobrien (Ecompile): Likewise. 18555360Sobrien The egrep matcher now has POSIX behavior. 18655360Sobrien 18755360Sobrien * tests/bre.tests: grep '\{' is no longer an error. 18855360Sobrien Fix test for interval too large, and enable it. 18955360Sobrien * tests/ere.tests: grep -E {1 is no longer an error 19055360Sobrien Likewise for a{1, a{1a, a{1a}, a{1,x}. 19155360Sobrien 19255360Sobrien1999-09-22 Paul Eggert 19355360Sobrien 19455360Sobrien * largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC 19555360Sobrien 2.95.1 bug with HP-UX 10.20. 19655360Sobrien 19755360Sobrien1999-09-12 Paul Eggert 19855360Sobrien 19955360Sobrien * src/grep.c (fillbuf): Fix typo: we sometimes reported 20055360Sobrien arithmetic overflow even when there wasn't any. 20155360Sobrien 20255360Sobrien1999-09-12 Paul Eggert 20355360Sobrien 20455360Sobrien * configure.in (AC_CHECK_FUNCS): Add memmove. 20555360Sobrien 20655360Sobrien * src/system.h (S_ISREG): New macro. 20755360Sobrien (memmove): Define if ! defined HAVE_MEMMOVE && ! defined memmove, 20855360Sobrien not if !defined STDC_HEADERS. This is needed for SunOS 4.1.4, 20955360Sobrien which defines STDC_HEADERS but lacks memmove. 21055360Sobrien 21155360Sobrien * src/grep.c (bufoffset): Needed even if !defined HAVE_MMAP. 21255360Sobrien (reset): Always fstat the file, since we always need its size if it is 21355360Sobrien regular. 21455360Sobrien Similarly, get the buffer offset of every regular file. 21555360Sobrien Set bufmapped to 0 if the file's initial offset is not a multiple 21655360Sobrien of the page size. 21755360Sobrien (fillbuf): Calculate an upper bound on how much memory we should 21855360Sobrien allocate only for regular files, since we don't know the sizes of 21955360Sobrien other files. 22055360Sobrien Don't bother to check whether the file offset is a multiple of the page 22155360Sobrien size, since we now do that just once in `reset'. 22255360Sobrien When an mmapped area would fall past the end of the file, trim it to 22355360Sobrien just before instead of giving up immediately and doing a `read'; 22455360Sobrien that avoids a worst-case behavior that could read half an mmapped file. 22555360Sobrien Fix bug when computing offsets on hosts that don't have mmap. 22655360Sobrien 22755360Sobrien1999-08-27 Paul Eggert 22855360Sobrien 22955360Sobrien * src/system.h (memmove): New macro. 23055360Sobrien 23155360Sobrien * src/grep.c (page_alloc): Reallocate the old buffer instead 23255360Sobrien of having both old and new buffers active simultaneously. 23355360Sobrien Remove valloc debugging variant, which no longer applies. 23455360Sobrien 23555360Sobrien (fillbuf): Rejigger the buffer allocation mechanism. The old 23655360Sobrien mechanism could allocate more than 10*N bytes for an N-byte 23755360Sobrien file, which was excessive. Check for arithmetic overflow a 23855360Sobrien bit more carefully. 23955360Sobrien 24055360Sobrien1999-08-25 Paul Eggert 24155360Sobrien 24255360Sobrien * src/grep.c (grepdir): 24355360Sobrien Don't assume that st_ino and st_dev must be integers; 24455360Sobrien POSIX.1 allows them to be floating-point (!). 24555360Sobrien 24655360Sobrien * src/vms_fab.h (arr_ptr): `:' -> `;' to fix typo. 24755360Sobrien 24855360Sobrien1999-08-18 Alain Magloire 24955360Sobrien 25055360Sobrien * 2.3e snapshot. 25155360Sobrien 25255360Sobrien1999-08-18 Alain Magloire 25355360Sobrien 25455360Sobrien * src/search.c: On a CRAY J90 system running UNICOS 8.0. 25555360Sobrien Compilation of ./src/search.c failed because the declaration of 25655360Sobrien the variable "regex": 25755360Sobrien static struct re_pattern_buffer regex; 25855360Sobrien conflicted with a previous declaration search.c #includes "system.h", 25955360Sobrien which #includes <stdlib.h>, which declares : 26055360Sobrien extern char *regex __((char *_Re, char *_Subject, ...)); 26155360Sobrien The declaration in search.c is local to that one source file. 26255360Sobrien I just changed its name to something less likely to conflict. 26355360Sobrien (I called it "regexbuf", but you could pick any name you want.) 26455360Sobrien Excerpt email from Dean Kopesky. 26555360Sobrien 26655360Sobrien1999-08-16 Paul Eggert 26755360Sobrien 26855360Sobrien Upgrade large-file support to the version used in tar and 26955360Sobrien textutils. 27055360Sobrien 27155360Sobrien * Makefile.am (ACLOCAL_AMFLAGS): Define to be empty. 27255360Sobrien (M4DIR, ACINCLUDE_INPUTS): New macros. 27355360Sobrien ($(srcdir)/acinclude.m4): New rule. 27455360Sobrien 27555360Sobrien * configure.in (AC_CANONICAL_HOST, AM_C_PROTOTYPES): Add. 27655360Sobrien (AC_SYS_LARGEFILE): Renamed from AC_LFS, for compatibility 27755360Sobrien with what should appear in the next autoconf release. 27855360Sobrien 27955360Sobrien * m4/largefile.m4: Renamed from m4/lfs.m4. 28055360Sobrien 28155360Sobrien * src/ansi2knr.1, src/ansi2knr.c, config.guess, config.sub: 28255360Sobrien New files. config.guess and config.sub ar needed by the new 28355360Sobrien AC_SYS_LARGEFILE. ansi2knr is needed by AM_C_PROTOTYPES, 28455360Sobrien which in turn is needed by the new AC_SYS_LARGEFILE. 28555360Sobrien 28655360Sobrien1999-08-16 Alain Magloire 28755360Sobrien 28855360Sobrien * 2.3d snapshot on ftp server. 28955360Sobrien 29055360Sobrien1999-07-26 Paul Eggert 29155360Sobrien 29255360SobrienSeveral GNU tools have options to process arbitrary file names, even 29355360Sobrienfile names that contain newline characters. These include `find 29455360Sobrien-print0', `perl -0', `sort -z', and `xargs -0'. It'd be handy if GNU 29555360Sobriengrep also processed such file names. Here's a proposed patch to do 29655360Sobrienthis, relative to grep 2.3c. This patch introduces two options, one 29755360Sobrienfor the data, and one for the file names. (Sometimes one wants 29855360Sobriennull-terminated file names in the output, and sometimes one wants to 29955360Sobrienprocess lists of null-terminated strings, and these are orthogonal 30055360Sobrienaxes.) 30155360Sobrien 30255360Sobrien * NEWS, doc/grep.texi: New -z or --null-data and -Z or --null options. 30355360Sobrien * src/grep.c (long_options, usage, main): Likewise. 30455360Sobrien 30555360Sobrien * src/dfa.h (dfasyntax): New eol parameter. 30655360Sobrien * src/dfa.c (eolbyte): New var. 30755360Sobrien (dfasyntax): Set it from new parameter. 30855360Sobrien (lex, dfastat, build_state, dfaexec): Use it instead of '\n'. 30955360Sobrien 31055360Sobrien * src/grep.h (eolbyte): New decl. 31155360Sobrien * src/grep.c (eolbyte): New var. 31255360Sobrien (nlscan, prpending, prtext, grepbuf, grep): Use it instead of '\n'. 31355360Sobrien (filename_mask): New var. 31455360Sobrien (prline, grepfile): Output NUL separator if filename_mask is zero. 31555360Sobrien (grep): Look for '\200' as the hallmark of a binary file, not '\0', 31655360Sobrien if -z or --null-data is specified, since it implies that '\0' is 31755360Sobrien expected as text. 31855360Sobrien 31955360Sobrien * src/search.c (Gcompile, Ecompile): Pass eolbyte to dfasyntax. 32055360Sobrien (EGexecute, Fexecute): Use eolbyte instead of '\n'. 32155360Sobrien 32255360Sobrien1999-06-15 Alain Magloire 32355360Sobrien 32456230Sru * src/grep.c, doc/grep{1,texi} : 32555360Sobrien --revert-match should be --invert-match. 32655360Sobrien Correction proposed by Karl Berry. 32755360Sobrien 32855360Sobrien1999-06-12 Alain Magloire 32955360Sobrien 33055360Sobrien * doc/grep.{1,texi}: add description for --with-filename. 33155360Sobrien Noted missing by UEBAYASHI Masao. 33255360Sobrien 33355360Sobrien1999-03-17 Paul Eggert 33455360Sobrien 33555360Sobrien * NEWS: Add GREP_OPTIONS. 33655360Sobrien 33755360Sobrien * doc/grep.texi: Document GREP_OPTIONS, and the other 33855360Sobrien environment variables. Fix doc for [:blank:], [:cntrl:], [:punct:]. 33955360Sobrien 34055360Sobrien * src/grep.c (prepend_args, prepend_default_options): New functions. 34155360Sobrien (main): Use them to implement GREP_OPTIONS. 34255360Sobrien * src/system.h (getenv): New decl. 34355360Sobrien 34455360Sobrien1999-03-16 Volker Borchert 34555360Sobrien 34655360Sobrien * configure.in: Use case case ... esac for checking Visual C++. 34755360Sobrien When ${CC} contains options it was not recognize. 34855360Sobrien 34955360Sobrien1999-03-07 Paul Eggert 35055360Sobrien 35155360Sobrien * src/grep.c (usage): Don't report -E, -F, and -G unless we're grep. 35255360Sobrien (main): Don't match options -E, -F, and -G unless we're grep. 35355360Sobrien Remove after-the-fact check for options -E, -F, and -G, since 35455360Sobrien they're no longer needed. 35555360Sobrien 35655360Sobrien1999-03-05 Eli Zaretskii 35755360Sobrien 35855360Sobrien * src/grep.c (main): Print the name of the default matcher instead 35956230Sru of just "grep". 36055360Sobrien 36155360Sobrien1999-02-06 Alain Magloire 36255360Sobrien 36355360Sobrien * tests/*.awk : Linux users are seeing "Broken Pipe" on make check. 36455360Sobrien The problem is that grep does not drain its stdin, thus the previous 36555360Sobrien process in the pipeline receives a SIGPIPE. Other shells are silent 36655360Sobrien about this. There is actually no failure, since the broken pipe is 36755360Sobrien expected. You can work around it by changing the pipeline, so that 36855360Sobrien the input is drained, like this: 36955360Sobrien status=`echo 'check' | { ${GREP} -E -e pattern >/dev/null 2>&1; 37055360Sobrien echo $?; cat >/dev/null; }`; if test $status -ne $errnu then ... fi 37156230Sru Excerpt email from Andreas Schwab. 37255360Sobrien 37355360Sobrien1999-02-23 Alain Magloire 37455360Sobrien 37555360Sobrien * src/grep.c : Restrict the use of -E, -F, -G 37655360Sobrien to only grep driver, Posix behaviour. {f,e}grep 37755360Sobrien the matcher is already set. This change may brake 37855360Sobrien scripts, warn in NEWS. 37955360Sobrien 38055360Sobrien * doc/grep.{1,texi} : -C takes arguments, upgrade manual. 38155360Sobrien 38255360Sobrien * beta 2.3a 38355360Sobrien 38455360Sobrien1999-02-23 Alain Magloire 38555360Sobrien 38655360Sobrien * configure.in : Change the configure VC test from 38755360Sobrien 'test x$ac_cv_prog_CC = xcl;' to 'test x"$ac_cv_prog_CC" = xcl;' 38855360Sobrien Email from Joshua R. Poulson. 38955360Sobrien 39055360Sobrien1999-02-23 Paul Eggert 39155360Sobrien 39255360Sobrien Fix porting bug reported by Amakawa Shuhei for SunOS 4.1.4-JL. 39355360Sobrien The btowc.c shipped with grep 2.3 is incorrect for Solaris 39455360Sobrien 2.5.1 and earlier, as it assumes UTF8, which these OSes do not 39555360Sobrien support. Solaris 7 supports btowc, so there's no need to ship 39655360Sobrien a substitute for it. The only questionable case is Solaris 39755360Sobrien 2.6, which lacks btowc but does support UTF8. However, 2.6 39855360Sobrien supports UTF8 but only as a demonstration (for an English 39955360Sobrien locale!); Japanese Solaris 2.6 users typically use EUC, or 40055360Sobrien sometimes shift-JIS, but they cannot use UTF8 since Japanese 40155360Sobrien UTF8 is not supported. Hence there's no point to having grep 40255360Sobrien substitute a btowc that uses UTF8, as it is either redundant, 40355360Sobrien or it will almost invariably have incorrect behavior. 40455360Sobrien 40555360Sobrien * configure.in (AC_CHECK_HEADERS): Don't set USE_WCHAR. 40655360Sobrien (AC_CHECK_FUNCS): Add btowc, wctype. 40755360Sobrien (AC_REPLACE_FUNCS): Don't replace btowc; our replacement is 40855360Sobrien invariably doing the wrong thing anyway, at least on SunOS/Solaris. 40955360Sobrien Don't bother to check for wctype in -lw, as we don't support 41055360Sobrien wide characters on Solaris 2.5.1 or earlier anyway. 41155360Sobrien 41255360Sobrien * bootstrap/Makefile.try (OBJS): Remove btowc.$(OBJEXT). 41355360Sobrien 41455360Sobrien * src/btowc.c: Removed; no longer needed. 41555360Sobrien 41655360Sobrien1999-02-19 Paul Eggert 41755360Sobrien 41855360Sobrien * NEWS: Fix typo when talking about the old behavior of 41955360Sobrien silently skipping directories; it was grep 2.1, not grep 2.2. 42055360Sobrien 42155360Sobrien1999-02-15 Alain Magloire 42255360Sobrien 42355360Sobrien * bootstrap/Makefile.try : add DJGPP DEFS. 42455360Sobrien Done by Elie Zaretsckii. 42555360Sobrien 42655357Sobrien1999-02-14 Alain Magloire 42755357Sobrien 42855357Sobrien * m4/gettext.m4 : Guard [] with changequote. 42955357Sobrien From Elie Zaretskii. 43055357Sobrien 43155357Sobrien * djgpp/config.bat : Makefile.in.in --> Makefile.in-in 43255357Sobrien From Elie Zaretskii. 43355357Sobrien 43455357Sobrien * src/dosbuf: k&r function parameter. 43555357Sobrien 43655357Sobrien * release of 2.3. 43755357Sobrien 43855357Sobrien1999-02-10 Alain Magloire 43955357Sobrien 44055357Sobrien * bootstrap/{Makefile{try,am},REAMDE} : skeleton 44155357Sobrien provided for system lacking the tools to autoconfigure. 44255357Sobrien 44355357Sobrien * src/{e,f,}grepmat.c: added guard [HAVE_CONFIG_H] 44455357Sobrien 44555357Sobrien1999-02-10 Alain Magloire 44655357Sobrien 44755357Sobrien * PATCHES-AC, PATCHES-AM: updated. 44855357Sobrien 44955357Sobrien * m4/regex.m4 : updated. 45055357Sobrien 45155357Sobrien1999-02-05 Eli Zaretskii 45255357Sobrien 45355357Sobrien * m4/gettext.m4 : Support DOS-style D:/foo/bar absolute file 45455357Sobrien names. 45555357Sobrien 45655357Sobrien * aclocal.m4 (DJGPP) : Use $DJ_GPP instead, since changing the 45755357Sobrien latter prevents GCC from finding headers and libraries. 45855357Sobrien 45955357Sobrien * djgpp/config.bat: Make building from another directory work 46055357Sobrien 46155357Sobrien * djgpp/config.sed: Remove redundant command wich edited path 46255357Sobrien separator: now done by configure. 46355357Sobrien 46455357Sobrien * src/grep.c [O_BINARY]: Add prototype for undossify_input. 46555357Sobrien 46655357Sobrien * doc/grep.texi (Introduction): Typo fixed. 46755357Sobrien 46855357Sobrien1999-02-03 Alain Magloire 46955357Sobrien 47055357Sobrien * grep-2.2f beta release. 47155357Sobrien 47255357Sobrien1999-02-02 Alain Magloire 47355357Sobrien 47455357Sobrien * m4/{djgpp,envsep,glibc,regex,dosfile,isc-posix}.m4 : 47555357Sobrien New files to aid configuration and unload configure.in. 47655357Sobrien * m4/Makefile.am : updated. 47755357Sobrien * src/btowc.c : protect for wchar.h 47855357Sobrien 47955357Sobrien1999-01-28 Alain Magloire 48055357Sobrien 48155357Sobrien * intl/Makefile.in: Replace .o with .${ac_objext} where necessary. 48255357Sobrien Work around a limitation of Visual C++ on Cygwin32. 48355357Sobrien * acconfig.h configure.in: Define `alloca' as `_alloca' when CC=cl. 48455357Sobrien This little hack was suggested by Ian Roxborough <irox@cygnus.com>. 48555357Sobrien Patch forwarded by Ben Elliston. 48655357Sobrien 48755357Sobrien1999-01-28 Alain Magloire 48855357Sobrien 48955357Sobrien * PATCHES-AM: New file. A small patch for automake-1.4, use $(sep) 49055357Sobrien as the path separator base on @SEP@. 49155357Sobrien * PATCHES-AC configure.in : updated for autoconf-13. 49256230Sru 49355357Sobrien1999-01-27 Volker Borchert 49455357Sobrien 49555357Sobrien * grep.c: fgrep -NUM not working correctly. 49655357Sobrien add the argument number to digit_args_val. 49755357Sobrien 49855357Sobrien1999-01-22 Paul Eggert 49955357Sobrien 50055357Sobrien Prevent grep -r from recursing infinitely through directory loops via 50155357Sobrien symbolic links. 50255357Sobrien 50355357Sobrien * grep.c (struct stats): New type. 50455357Sobrien (stats_base): New var. 50555357Sobrien (bufstat): Remove; subsumed by stats->stat. 50655357Sobrien (reset, fillbuf, grep, grepdir, grepfile): Pass struct stats * arg, 50755357Sobrien for directory loop checking; use this instead of the bufstat global. 50855357Sobrien All callers changed. 50955357Sobrien (grepfile): Stat the file before invoking grepdir. 51055357Sobrien (grepdir): Assume that the argument has already been statted. 51155357Sobrien No longer a need for a directory size argument, since it 51255357Sobrien can be gotten from the struct stats * argument. 51355357Sobrien Check for directory loops. 51455357Sobrien Create linked list of directories currently being visited, 51555357Sobrien to detect loops. 51655357Sobrien 51755357Sobrien1998-12-29 Kaveh R. Ghazi 51855357Sobrien 51955357Sobrien intl/localealias.c: When building grep-2.2e using cc on Irix4, 52055357Sobrien I needed the following patch to intl/localealias.c. 52155357Sobrien (Its the same patch used by fileutils-4.0.) The patch resolves 52255357Sobrien conflicts between char* and unsigned char* in the i18n code. 52355357Sobrien 52455357Sobrien1998-12-10 Alain Magloire 52555357Sobrien 52655357Sobrien * src/grep.c : Typo in contex -->context 52755357Sobrien Noted by Vladimir Michl. 52855357Sobrien 52955357Sobrien1998-12-01 Alain Magloire 53055357Sobrien 53155357Sobrien * doc/Makefile.am djgpp/Makefile.am m4/Makefile.am vms/Makefile.am: 53255357Sobrien New files. 53355357Sobrien 53455357Sobrien * m4/progtest.m4: proctect '[]' from m4. 53555357Sobrien Noted by Eli Z. 53655357Sobrien 53755357Sobrien * PATCHES-AC: New file, add the patch for autoconf in the dist. 53855357Sobrien 53955357Sobrien * acconfig.h: (HAVE_DOS_FILENAME) 54055357Sobrien 54155357Sobrien * TODO: updated. 54255357Sobrien 54355357Sobrien * src/search.c: remove obsolete 'gegrep,ggrep,gnugrep' 54455357Sobrien matchers. grep no longer depend on argv[0]. 54555357Sobrien 54655357Sobrien * grep-2.2e beta to test DJGPP port. 54755357Sobrien 54855357Sobrien1998-11-28 Paul Eggert 54955357Sobrien 55055357Sobrien Various portability enhancements: 55155357Sobrien - Don't assume that O_BINARY implies DOS. Use separate 55255357Sobrien macros D_OK (for DOS-like directory access) and 55355357Sobrien HAVE_DOS_FILE_NAMES (for DOS-like file names). 55455357Sobrien - Don't assume that off_t fits into long; it doesn't on Solaris 2.6. 55555357Sobrien - Have is_EISDIR set errno properly on hosts with screwed-up EISDIR. 55655357Sobrien - Treat ':' specially in DOS file names only if it's the end of a 55755357Sobrien drive specifier. 55855357Sobrien - Protect against errno < 0. 55955357Sobrien 56055357Sobrien * src/grep.c (is_EISDIR): Move defn to system.h. 56155357Sobrien (print_offset_sep): New function. 56255357Sobrien (fillbuf): Remove redundant test of O_BINARY. 56355357Sobrien (totalcc, totalnl): Now of type off_t. 56455357Sobrien (prline): Use print_offset_sep to print file offsets. 56555357Sobrien (grepfile): Don't set e to EISDIR; that's is_EISDIR's responsibility 56655357Sobrien on machines that don't work properly with EISDIR. 56755357Sobrien (grepdir): Don't assume ':' means slash on all DOS filenames; 56855357Sobrien it means it only in the file prefix. 56955357Sobrien 57055357Sobrien * src/system.h (strerror): Check for negative error numbers. 57155357Sobrien (is_EISDIR): Depend on D_OK, not O_BINARY. 57255357Sobrien (SET_BINARY): Depend on HAVE_SETMODE, not __DJGPP__. 57355357Sobrien (IS_SLASH, FILESYSTEM_PREFIX_LEN): Depend on HAVE_DOS_FILE_NAMES, 57455357Sobrien not O_BINARY. 57555357Sobrien (CHAR_BIT): New macro. 57655357Sobrien 57755357Sobrien * src/dosbuf.c (struct dos_map): 57855357Sobrien pos and add members are now of type off_t. 57955357Sobrien (dos_stripped_crs): Now of type off_t. 58055357Sobrien (dossified_pos): Now accepts arg and returns value of type off_t. 58155357Sobrien 58255357Sobrien * configure.in (AC_CHECK_FUNCS): Add setmode. 58355357Sobrien (HAVE_DOS_FILENAMES): New macro 58455357Sobrien 58555357Sobrien1998-11-27 Eli Zaretskii 58655357Sobrien 58755357Sobrien * djgpp/config.sed: New file, a Sed script to edit configure 58855357Sobrien script before running it on DOS/Windows. 58955357Sobrien * djgpp/config.bat: Updated to handle po2tbl.sed.in and 59055357Sobrien po/Makefile.in.in on DOS filesystems, and to run config.sed. 59155357Sobrien 59255357Sobrien1998-11-24 Jim Meyering 59355357Sobrien 59455357Sobrien * src/grep.c : Typo s/infalid/invalid/ 59555357Sobrien Also noted by Stanislav Brabec. 59655357Sobrien 59755357Sobrien1998-11-24 Eli Zaretskii 59855357Sobrien 59955357Sobrien * doc/grep.texi: I found and corrected several typos. 60055357Sobrien I believe the GNU standards require the section that describes the 60155357Sobrien options to the programs to be called ``Invoking'' or ``Invoking 60255357Sobrien <program-name>''. This is so users and programs can easily find 60355357Sobrien that node in any Info file. So I changed the name of the 60455357Sobrien `Options' chapter to `Invoking', and corrected the 60555357Sobrien cross-references accordingly. 60655357Sobrien I added some markup to things like file names and options. 60755357Sobrien I added some additional index entries where that seemed useful. 60855357Sobrien I also corrected some index entries, such as "@cindex [:alnum:]", 60955357Sobrien which used a colon in them (the colons confuse Info readers). 61055357Sobrien 61155357Sobrien1998-11-24 Alain Magloire 61255357Sobrien 61355357Sobrien * grep/doc/grep.texi : -h is not use for help. 61455357Sobrien Nit spotted by Jim Meyering. 61555357Sobrien 61655357Sobrien1998-11-23 Alain Magloire 61755357Sobrien 61855357Sobrien * doc: New directory, grep.1, {e,f}grep.man move here 61955357Sobrien * doc/grep.texi: New info manual 62055357Sobrien * doc/version.texi: New 62155357Sobrien * doc/Makefile.am: New 62255357Sobrien * tests/{ere,bre}.*: New files. The spencer2 test is split 62355357Sobrien in two ere/bre. 62455357Sobrien * config.hin: New, config.h.in rename to config.hin for OS 62555357Sobrien with limited file system aka DOS. 62655357Sobrien 62755357Sobrien * grep-2.2d release for beta. 62855357Sobrien 62955357Sobrien1998-11-18 Alain Magloire 63055357Sobrien 63155357Sobrien * src/regex.[ch] : Updated from GLibc, previous patches were 63255357Sobrien integrate by Ulrich Drepper and some added ones. 63355357Sobrien 63455357Sobrien1998-11-16 Paul Eggert 63555357Sobrien 63655357Sobrien * grep.h (__attribute__): New macro, if not GCC. 63755357Sobrien (fatal): Add __attribute__((noreturn)). 63855357Sobrien * grep.c (usage): Add __attribute__((noreturn)). 63955357Sobrien 64055357Sobrien1998-11-16 Paul Eggert 64155357Sobrien 64255357Sobrien Remove memory leak with valloced buffers, by invoking malloc instead. 64355357Sobrien 64455357Sobrien * configure.in (AC_CHECK_FUNCS), src/system.h (valloc): Remove. 64555357Sobrien * src/grep.c (page_alloc): New function. 64655357Sobrien (ubuffer, pagesize): New vars. 64755357Sobrien (ALIGN_TO): New macro. 64855357Sobrien (reset): Initialize new vars. Check for overflow in buffer size calc. 64955357Sobrien Use page_alloc instead of valloc. 65055357Sobrien (fillbuf): Likewise. Use memcpy to copy saved area. 65155357Sobrien 65255357Sobrien1998-11-15 Paul Eggert 65355357Sobrien 65455357Sobrien * dfa.c (dfacomp), search.c (EGexecute): Don't assume char is unsigned. 65555357Sobrien 65655357Sobrien1998-11-14 Paul Eggert 65755357Sobrien 65855357Sobrien * src/grep.c (grepdir): Fix bug: memory freed twice. 65955357Sobrien 66055357Sobrien * src/search.c (Gcompile, Ecompile): Don't invoke dfainit, 66155357Sobrien since dfacomp does it for us, and if we also do it then we 66255357Sobrien leak memory. 66355357Sobrien 66455357Sobrien1998-11-13 Eli Zaretskii 66555357Sobrien 66655357Sobrien * djgpp/config.bat: Rewrite to run the configure script via Bash. 66755357Sobrien * djgpp/config.site, djgpp/getconf: New files. 66855357Sobrien * djgpp/config.h, djgpp/*.mak, djgpp/po2tbl.sed: Remove. 66955357Sobrien * djgpp/README: Update instructions. 67055357Sobrien 67155357Sobrien * Makefile.am (EXTRA_DIST): Update the list of DJGPP files. 67255357Sobrien 67355357Sobrien * src/system.h (IS_SLASH): New macro. 67455357Sobrien (is_EISDIR): Define it here for DOS and Windows. 67555357Sobrien 67655357Sobrien * src/grep.c (main) [O_BINARY]: Set stdout to binary mode, so the 67755357Sobrien EOL formats of the input and output files match, unless stdout is 67855357Sobrien the console device. 67955357Sobrien (is_EISDIR): Don't define if already defined. Accept a second 68055357Sobrien argument, the file name; all callers changed. 68155357Sobrien (grepdir): Don't free `file', inside the loop. Use IS_SLASH to 68255357Sobrien check whether `dir' needs a slash. 68355357Sobrien (grepfile): If file is a directory, set e to EISDIR. 68455357Sobrien 68555357Sobrien1998-11-10 Alain Magloire 68655357Sobrien 68755357Sobrien * src/vms_fab.{c,h}: New file for VMS wildcard expansion 68855357Sobrien Written by Phillip C. Brisco. 68955357Sobrien 69055357Sobrien * vms/make.com : add line to compile vms_fab.c and 69155357Sobrien {e,f,}grepmat.c with link for each grep/fgrep/egrep. 69255357Sobrien Base on patch send by Phillib C. Brisco. 69355357Sobrien 69455357Sobrien1998-11-09 Alain Magloire 69555357Sobrien 69655357Sobrien * grep-2.2c on alpha for testing. 69755357Sobrien 69855357Sobrien1998-11-09 Paul Eggert 69955357Sobrien 70055357Sobrien * src/grep.1: Fix `Last Change' of output by generating the date 70155357Sobrien from the RCS Id. 70255357Sobrien 70355357Sobrien * src/grep.c (is_EISDIR): New macro. 70455357Sobrien (grep): If -s, suppress errors from trying to read directories. 70555357Sobrien (grepfile): Use is_EISDIR to simplify code. 70655357Sobrien (grepdir): If -s, suppress errors from trying to read directories. 70755357Sobrien 70855357Sobrien * src/grep.1: Fix -q -r -s problems; describe BSD grep better. 70955357Sobrien 71055357Sobrien * src/grep.c (main): Update copyright. 71155357Sobrien 71255357Sobrien Specify default matcher with default_matcher extern var, not 71355357Sobrien DEFAULT_MATCHER macro. This is more straightforward and means 71455357Sobrien we need to compile grep.c just once. 71555357Sobrien 71655357Sobrien * src/egrepmat.c, src/fgrepmat.c, src/grepmat.c: New files. 71755357Sobrien 71855357Sobrien * src/Makefile.am (base_sources): New macro. 71955357Sobrien (egrep_SOURCES, fgrep_SOURCES, grep_SOURCES): Now consist of 72055357Sobrien $(base_sources) plus the single tailoring file. 72155357Sobrien (grep_LDADD, egrep_LDADD, fgrep_LDADD): Remove. 72255357Sobrien (EXTRA_DIST): Remove grep.c, regex.c. 72355357Sobrien (fgrep.o, egrep.o): Remove. 72455357Sobrien 72555357Sobrien * src/grep.h (matcher): Now char const *. 72655357Sobrien (default_matcher): New decl. 72755357Sobrien 72855357Sobrien * src/grep.c (matcher): Now char const *. 72955357Sobrien (setmatcher): Now accepts char const *. 73055357Sobrien (main): Default the matcher from default_matcher (linked externally) 73155357Sobrien rather than DEFAULT_MATCHER (a macro). 73255357Sobrien 73355357Sobrien1998-11-08 Alain Magloire 73455357Sobrien 73555357Sobrien * src/grep.1: `prep.ai.mit.edu' should be replaced with `gnu.org'. 73655357Sobrien Nit from Paul Eggert. 73755357Sobrien 73855357Sobrien1998-11-06 Alain Magloire 73955357Sobrien 74055357Sobrien * src/grep.c: The Matcher is not set to argv[0] but 74155357Sobrien explicitly by a #define MATCHER at compile time default is "grep". 74255357Sobrien 74355357Sobrien * aclocal/: NEW dir. provides our own *.m4 74455357Sobrien 74555357Sobrien * configure.in: Move Paul's Large Files to AC_LFS.(aclocal/lfs.m4) 74655357Sobrien Taken from Jim Meyering fileutils. 74755357Sobrien 74855357Sobrien1998-11-05 Alain Magloire 74955357Sobrien 75055357Sobrien * src/grep.1: update the man pages according to the 75155357Sobrien changes make by Miles. 75255357Sobrien 75355357Sobrien * po/*.po: updated. 75455357Sobrien 75555357Sobrien * first beta release for 2.3 (2.2a). 75655357Sobrien 75755357Sobrien1998-11-04 Miles Bader 75855357Sobrien 75955357Sobrien * src/grep.c (main): Rationalize interaction of -C/-NUM/-A/-B 76055357Sobrien options, and allow -C to have an optional argument. -NUM can 76155357Sobrien now be mixed with -C, and -A, -B always take precedence over 76255357Sobrien -C/-NUM, regardless of order. 76355357Sobrien (long_options): Let -C/--context take an optional argument. 76455357Sobrien 76555357Sobrien1998-11-03 Alain Magloire 76655357Sobrien 76755357Sobrien * src/dfa.c: HP-UX define clrbit/setbit as macros in <sys/param.h> 76855357Sobrien #undef if defined. 76955357Sobrien Fixed by Andreas Ley and Philippe Defert. 77055357Sobrien 77155357Sobrien * src/grep.1 : mention that -s follows POSIX.2 behavior. 77255357Sobrien Noted by Paul Eggert and others. 77355357Sobrien 77455357Sobrien * tests/khadafy.sh: a typo in failure(s). 77555357Sobrien Spotted By Sotiris Vassilopoulos. 77655357Sobrien 77755357Sobrien1998-11-01 Paul Eggert 77855357Sobrien 77955357Sobrien * src/system.h (IN_CTYPE_DOMAIN): New macro. 78055357Sobrien (ISALPHA, ISUPPER, ISLOWER, ISDIGIT, ISXDIGIT, ISSPACE, 78155357Sobrien ISPUNCT, ISALNUM, ISPRINT, ISGRAPH, ISCNTRL): Use 78255357Sobrien IN_CTYPE_DOMAIN instead of isascii. 78355357Sobrien 78455357Sobrien1998-08-18 Paul Eggert 78555357Sobrien 78655357Sobrien Add support for new -r or --recursive (or -d recurse or 78755357Sobrien --directories=recurse) option. 78855357Sobrien 78955357Sobrien * src/Makefile.am (grep_SOURCES): Add savedir.c, savedir.h, stpcpy.c. 79055357Sobrien 79155357Sobrien * src/grep.1: Describe new options. 79255357Sobrien 79355357Sobrien * src/grep.c: Include "savedir.h". 79455357Sobrien (long_options): Add -r or --recursive. 79555357Sobrien (RECURSE_DIRECTORIES): New enum value. 79655357Sobrien (IS_DIRECTORY_ERRNO): Remove. 79755357Sobrien (reset, grep): Add file name arg. 79855357Sobrien (grepdir, grepfile): New functions. 79955357Sobrien (initial_bufoffset): New var. 80055357Sobrien (reset): Initialize it. 80155357Sobrien (fillbuf): Use it. 80255357Sobrien (count_matches, list_files, no_filenames, suppress_errors): New static 80355357Sobrien vars; formerly were local to `main'. 80455357Sobrien (grep): Recurse through directories if the user asks for this. 80555357Sobrien (usage, main): Add new options. 80655357Sobrien (main): Change some local vars to be static, as described above. 80755357Sobrien Move most of the guts into grepfile function. 80855357Sobrien so that it can be recursed through. 80955357Sobrien 81055357Sobrien * configure.in (AC_HEADER_DIRENT, AC_FUNC_CLOSEDIR_VOID): Add. 81155357Sobrien (AC_REPLACE_FUNCS): Add stpcpy. 81255357Sobrien 81355357Sobrien * src/savedir.c, src/savedir.h, src/stpcpy.c: New files; 81455357Sobrien taken from fileutils 3.16u. 81555357Sobrien 81655357Sobrien1998-08-11 Paul Eggert 81755357Sobrien 81855357Sobrien * src/system.h (initialize_main): New macro. 81955357Sobrien * src/grep.c (main): Invoke initialize_main first thing. 82055357Sobrien 82155357Sobrien1998-04-29 Paul Eggert 82255357Sobrien 82355357Sobrien * NEWS, src/grep.1: Describe new -a and -d options. 82455357Sobrien 82555357Sobrien * src/grep.c (long_options, usage, main): 82655357Sobrien New options -d or --directories and -a or --text. 82755357Sobrien (directories, always_text): New variables. 82855357Sobrien (IS_DIRECTORY_ERRNO): New macro. 82955357Sobrien (reset): Now returns value specifying whether to skip this file. 83055357Sobrien Stat the file if either mmap or directory-skipping is possible. 83155357Sobrien Skip the file if it's a directory and we're skipping directories. 83255357Sobrien (grep): Skip the file if `reset' tells us to. 83355357Sobrien (main): If open fails because the file is a directory, and if we're 83455357Sobrien skipping directories, don't report an error. 83555357Sobrien Remove special case for DOS and Windows. 83655357Sobrien 83755357Sobrien * src/dosbuf.c (guess_type): Use the same method for guessing whether a 83855357Sobrien file is binary as grep.c's grep does. 83955357Sobrien There's no longer any need to declare `bp' to be unsigned. 84055357Sobrien 84155357Sobrien1998-04-26 Alain Magloire 84255357Sobrien 84355357Sobrien * grep-2.2 release. 84455357Sobrien 84555357Sobrien * src/dfa.c: Wrong revision was pulled out 84655357Sobrien for beta 2.1.1d. 84755357Sobrien * src/search.c: Wrong revision was pulled out 84855357Sobrien for beta 2.1.1d. 84955357Sobrien 85055357Sobrien * src/grep.c: ck_atoi () added instead of atoi (). 85155357Sobrien Suggestion from Jim Meyering. 85255357Sobrien ck_atoi () pulled from diffutils-2.7, maintained by Paul Eggert. 85355357Sobrien 85455357Sobrien * AUTHORS: Rephrase of some sentences. 85555357Sobrien * README: Rewording. 85655357Sobrien Noted and patched by Joel N. Weber II. 85755357Sobrien 85855357Sobrien1998-04-17 Kaveh R. Ghazi 85955357Sobrien 86055357Sobrien * src/dfa.h: Don't define `const', trust autoconf to handle it. 86155357Sobrien 86255357Sobrien1998-04-16 Alain Magloire 86355357Sobrien 86455357Sobrien * tests/{status,empty}.sh: wrong return status. 86555357Sobrien 86655357Sobrien * src/grep.c: Remove the REGEX part in usage (), it was 86755357Sobrien consider overkill by most. 86855357Sobrien 86955357Sobrien1998-04-14 Eli Zaretskii 87055357Sobrien 87155357Sobrien * djgpp/config.bat: Support file names with multiple dots on all 87255357Sobrien platforms. 87355357Sobrien 87455357Sobrien * djgpp/README: Add instructions about file names illegal on 87555357Sobrien MS-DOS. 87655357Sobrien 87755357Sobrien1998-04-13 Alain Magloire 87855357Sobrien 87955357Sobrien * src/dfa.c: by "popular" demand reverse 88055357Sobrien back to '_' not word-constituent. 88155357Sobrien 88255357Sobrien * grep-2.1.1c available for testing. 88355357Sobrien 88455357Sobrien1998-04-13 Karl Heuer 88555357Sobrien 88655357Sobrien * src/grep.c: (a) The directory check is done too early: 88755357Sobrien logically, if the argument is "-", then it refers to standard 88855357Sobrien input, regardless of whether there's something in the file 88955357Sobrien system answering to "-". 89055357Sobrien (b) The sh command "grep -l root /etc/passwd /etc/group 0<&-" 89155357Sobrien prints "(standard input)" instead of "/etc/passwd", because it 89255357Sobrien mistakenly believes that a named file will never be opened on fd 89355357Sobrien 0. The string "(standard input)" should be based on the file 89455357Sobrien having been originally specified as "-", rather than making 89555357Sobrien assumptions about the fd. 89655357Sobrien (c) the code that calls close(fd) is being done outside of the 89755357Sobrien test for a bad fd. Thus, if the open failed, this code will 89855357Sobrien attempt to close(-1). It should be done inside the "fd != -1" 89955357Sobrien branch. 90055357Sobrien This patch addresses all three of these problems. 90155357Sobrien 90255357Sobrien1998-04-13 Alain Magloire 90355357Sobrien 90455357Sobrien * configure.in: remove the deprecated AC_ISC_POSIX macro. 90555357Sobrien Spotted by Karl Heuer. 90655357Sobrien 90755357Sobrien1998-04-03 Eli Zaretskii 90855357Sobrien 90955357Sobrien * djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated from the 91055357Sobrien relevant Makefile.in files. 91155357Sobrien 91255357Sobrien * djgpp/config.bat: Create files in intl directory like the 91355357Sobrien configure script does. 91455357Sobrien 91555357Sobrien1998-03-28 Eli Zaretskii 91655357Sobrien 91755357Sobrien * djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated to track 91855357Sobrien changes in respective Makefile.in files. 91955357Sobrien 92055357Sobrien * src/dosbuf.c (guess_type): Avoid running off the end of the 92155357Sobrien buffer. Spotted by Paul Eggert. 92255357Sobrien 92355357Sobrien1998-03-27 Alain Magloire 92455357Sobrien 92555357Sobrien * grep-2.1.1b.tar.gz available. 92655357Sobrien 92755357Sobrien * src/regex.c: CLASS_CHAR_MAX set to 256 instead of 6 92855357Sobrien when WCTYPE and WCHAR are not defined. When class names 92955357Sobrien where bigger then 6, it will not detect an error. 93055357Sobrien example '[[:alphabet:]]'. 93155357Sobrien 93255357Sobrien * Updated the copyright of the files with emacs. 93355357Sobrien With emacs Jim :). 93455357Sobrien 93555357Sobrien1998-03-26 Jim Meyering 93655357Sobrien 93755357Sobrien * src/dfa.c (IS_WORD_CONSTITUENT): Define. 93855357Sobrien (lex): Use IS_WORD_CONSTITUENT, not ISALNUM. 93955357Sobrien Don't special-case '_'. 94055357Sobrien (dfastate): Use IS_WORD_CONSTITUENT, not ISALNUM. 94155357Sobrien (dfaexec): Likewise. 94255357Sobrien 94355357Sobrien1998-03-25 Alain Magloire 94455357Sobrien 94555357Sobrien * tests/warning.sh: typos and replace the echos with 94655357Sobrien a simple cat. 94755357Sobrien Noted By Jim Meyering. 94855357Sobrien 94955357Sobrien * src/regex.c: #undef ISASCII and ISPRINT before defining 95055357Sobrien them(On Solaris it was define). 95155357Sobrien Pattern 'a[[:]:]]b' is an invalid char class and the error 95255357Sobrien from regex was 1(REG_NOMATCH) instead of 2 (REG_ECTYPE). 95355357Sobrien Fix with help from Ulrich Drepper. 95455357Sobrien 95555357Sobrien * src/grep.c (usage): Ulrich wrote: "A single printf should 95655357Sobrien not have more than 900 bytes. For translation reasons the 95755357Sobrien text shouldn't be split in too many pieces since this is 95855357Sobrien tiresome and also does not help to generate a consistent picture." 95955357Sobrien Noted by Ulrich Drepper. 96055357Sobrien * src/grep.c (usage): Dig out and old patch from 96155357Sobrien Franc,ois to explain the regex in usage(). 96255357Sobrien Ideas from Franc,ois Pinard. 96355357Sobrien 96455357Sobrien1998-03-23 Alain Magloire 96555357Sobrien 96655357Sobrien * testing: grep-2.1.1a for testing. 96755357Sobrien 96855357Sobrien * configure.in: Solaris needs '-lw' if we use wchar/wctype 96955357Sobrien functions. 97055357Sobrien * src/btowc.c: New file from GNU libc. Solaris 2.5 don't 97155357Sobrien have it define. 97255357Sobrien * configure.in : check for btowc (). 97355357Sobrien 97455357Sobrien * regex.c: Include <wchar.h> before <wctype.h>, to work around 97555357Sobrien a Solaris 2.5 bug. 97655357Sobrien Patch provided by Paul Eggert. 97755357Sobrien 97855357Sobrien * tests/status.sh: new file to check return status code. 97955357Sobrien * tests/empty.sh: new file to check for empty pattern. 98055357Sobrien * tests/warning.sh: new file to tell where to report errors. 98155357Sobrien 98255357Sobrien * configure.in: If available, prefer support for large files 98355357Sobrien unless the user specified one of the CPPFLAGS, LDFLAGS, or LIBS 98455357Sobrien variables. 98555357Sobrien Done by Paul Eggert. 98655357Sobrien 98755357Sobrien * src/grep.c (usage): change prep.ai.mit.edu for gnu.org. 98855357Sobrien 98955357Sobrien1998-03-18 Alain Magloire 99055357Sobrien 99155357Sobrien * src/grep.c (usage): Formating the --help message a bit off. 99255357Sobrien Noted by William Bader. 99355357Sobrien 99455357Sobrien * src/grep.c (main): When checking conflicting matcher for option -E the 99555357Sobrien matcher was to "egrep" instead of "posix-egrep". 99655357Sobrien Reported by kwzh@gnu.org. 99755357Sobrien 99855357Sobrien * src/grep.c: Typos and rewording the --help message. 99955357Sobrien Reported by Karl Heuer. 100055357Sobrien 100155357Sobrien * src/grep.1: The man page wording : 100255357Sobrien A regular expression matching a single character may be 100355357Sobrien followed by one of several repetition operators: 100455357Sobrien is unclear since 'x(yz)*z' is a valid regex. 100555357Sobrien Remove the "matching a single character". 100655357Sobrien Suggested by Harald Hanche-Olsen. 100755357Sobrien 100855357Sobrien * src/grep.c (main): `-f /dev/null' now specifies no patterns 100955357Sobrien and therfore matches nothing. 101055357Sobrien Reported by Jorge Stolfi. 101155357Sobrien Patched by Paul Eggert. 101255357Sobrien 101355357Sobrien1998-03-10 Alain Magloire 101455357Sobrien 101555357Sobrien * Ice storm 98(el nino). Lost grep repository disk, 101655357Sobrien and my $HOME directory, etc .. 101755357Sobrien Trying to get the emails/patch from dejanews.com 101855357Sobrien and start from grep-2.1. 101955357Sobrien sigh .... 102055357Sobrien 102155357Sobrien1997-11-01 Alain Magloire 102255357Sobrien 102355357Sobrien * src/grep.c: For the long options, the problems are: 102455357Sobrien --file appears in the option table as 'no_argument' 102555357Sobrien instead of 'required_argument'. 102655357Sobrien --files-with-matches is missing from the option table. 102755357Sobrien The help lists '--fixed-strings' as the long option for -F, 102855357Sobrien the table has '--fixed-regexp'. 102955357Sobrien --regexp appears in the option table as 'no_argument' 103055357Sobrien instead of 'required_argument'. 103155357Sobrien --with-filename is missing from the option table. 103255357Sobrien Reported by Grant McDorman and Krishna Sethuraman. 103355357Sobrien 103455357Sobrien1997-10-19 Alain Magloire 103555357Sobrien 103655357Sobrien * src/grep.c: the option "with-filename was not in the arg table. 103755357Sobrien Corrected by Jim Hand. 103855357Sobrien 103955357Sobrien * GNU gettext library from gettext-0.10.32. 104055357Sobrien 104155357Sobrien * src/grep.c: reverse back to greping directories, 104255357Sobrien One could skip the error message by defining 104355357Sobrien SKIP_DIR_ERROR. There is no clear way of doing 104455357Sobrien things, I hope to setle this on the next majore release 104555357Sobrien Thanks Paul Eggert, Eli Zaretskii and gnits for the 104655357Sobrien exchange. 104755357Sobrien 104855357Sobrien * tests/status.sh: add this check to make sure 104955357Sobrien That the return status code is ok. 105055357Sobrien 105155357Sobrien1997-10-10 Andreas Schwab 105255357Sobrien 105355357Sobrien * src/grep.1: Fix formatting. 105455357Sobrien 105555357Sobrien * configure.in: Check for wctype.h, wchar.h, libintl.h and 105655357Sobrien isascii, which are needed for regex.c. 105755357Sobrien 105855357Sobrien1997-10-01 Paul Eggert 105955357Sobrien 106055357Sobrien * src/grep.c (fillbuf): Don't warn about mmap failures. 106155357Sobrien 106255357Sobrien1997-09-7 Alain Magloire 106355357Sobrien 106455357Sobrien * src/grep.c: added code for -H --with-filename. 106555357Sobrien 106655357Sobrien * djgpp/*: patch wrongly apply 106755357Sobrien duplication of text in djgpp/{README,config.h}. 106855357Sobrien Filter djgpp/config.bat with unix2dos. 106955357Sobrien 107055357Sobrien * djgpp/make.mak: beautify 107155357Sobrien From Eli Zaretskii. 107255357Sobrien 107355357Sobrien * grep-2.1 release. 107455357Sobrien 107555357Sobrien1997-09-01 Alain Magloire 107655357Sobrien 107755357Sobrien * grep-2.0f out for testing. 107855357Sobrien 107955357Sobrien * update to GNU gettext library from gettext-0.10.31 108055357Sobrien 108155357Sobrien * grep.c : have a nicer format for --version. 108255357Sobrien Noted by Ulrich Drepper. 108355357Sobrien 108455357Sobrien * obstack.[ch]: updated from GNU C library 108555357Sobrien * configure.in: look for stdlib.h [HAVE_STDLIB_H] 108655357Sobrien Comments from Ulrich Drepper. 108755357Sobrien 108855357Sobrien1997-08-25 Philippe De Muyter <phdm@info.ucl.ac.be> 108955357Sobrien 109055357Sobrien * src/dfa.c (sys/types.h): File included unconditionnaly. 109155357Sobrien 109255357Sobrien1997-08-16 Eli Zaretskii <eliz@is.elta.co.il> 109355357Sobrien 109455357Sobrien * grep.c (long_options) [O_BINARY]: Add DOS-specific options. 109555357Sobrien (fillbuf) [O_BINARY]: For DOS-style text files, strip CR 109655357Sobrien characters at end of line. 109755357Sobrien (prline) [O_BINARY]: Report correct byte offsets, even though CR 109855357Sobrien characters were stripped when reading the file. 109955357Sobrien (usage) [O_BINARY]: Add DOS-specific options. 110055357Sobrien (setmatcher) [HAVE_SETRLIMIT]: Set re_max_failures so that the 110155357Sobrien matcher won't ever overflow the stack. 110255357Sobrien (main) [__MSDOS__, _WIN32]: Handle backslashes and drive letters 110355357Sobrien in argv[0], remove the .exe suffix, and downcase the prgram name. 110455357Sobrien [O_BINARY]: Pass additional DOS-specific options to getopt_long 110555357Sobrien and handle them. Call stat before attempting to open the file, in 110655357Sobrien case it is a directory (DOS will fail the open call for 110755357Sobrien directories). Switch the input descriptor to binary mode, unless 110855357Sobrien it is a terminal device. 110955357Sobrien 111055357Sobrien * system.h [O_BINARY]: Define macros to switch a handle to binary 111155357Sobrien mode, so binary files could be grep'ed on MS-DOS and MS-Windows. 111255357Sobrien [HAVE_SETLOCALE]: Test for HAVE_SETLOCALE instead of 111355357Sobrien HAVE_LC_MESSAGES, to prevent compilation error in grep.c on 111455357Sobrien systems which don't define HAVE_LC_MESSAGES, but have setlocale. 111555357Sobrien 111655357Sobrien * dosbuf.c: New file, functions specific for MS-DOS/MS-Windows. 111755357Sobrien (guess_type, undossify_input, dossified_pos): New functions. 111855357Sobrien 111955357Sobrien * djgpp/config.h, djgpp/config.bat, djgpp/main.mak, djgpp/src.mak, 112055357Sobrien djgpp/po.mak, djgpp/intl.mak, djgpp/tests.mak, djgpp/po2tbl.sed: 112155357Sobrien New files, for building Grep with DJGPP tools for MS-DOS and 112255357Sobrien MS-Windows. 112355357Sobrien 112455357Sobrien * grep.1: Document DOS-specific switches. 112555357Sobrien 112655357Sobrien1997-08-08 Alain Magloire 112755357Sobrien 112855357Sobrien * grep-2.0e: available for testing 112955357Sobrien 113055357Sobrien * grep.c: change LC_MESSAGE to LC_ALL for (LC_CTYPE). 113155357Sobrien Suggested by Jochen Hein. 113255357Sobrien 113355357Sobrien * ABOUT-NLS: updated. 113455357Sobrien * grep.c: --version: more verbosity (COPYRIGHT). 113555357Sobrien * grep.c: --help: PATTERN, FILE instead of <pattern>, <file>. 113655357Sobrien * INSTALL.grep: not necessary removed. 113755357Sobrien * configure.in: --disable-regex rename --without-include-regex. 113855357Sobrien * THANKS: format: first row name, second email. 113955357Sobrien * ChangeLog: format ISO 8601. 114055357Sobrien Reported by Franc,ois Pinard. 114155357Sobrien 114255357Sobrien * grep.c: move dcl of struct stat st into "else" where it's used. 114355357Sobrien Reported by Jim Meyering. 114455357Sobrien 114555357Sobrien * grep.c: totalnl should be %u in printf. 114655357Sobrien Reported by Michael Aichlmay 114755357Sobrien Corrected with guidance from Ulrich Drepper 114855357Sobrien 114955357Sobrien1997-07-24 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 115055357Sobrien 115155357Sobrien * Makefile.am: corrected an error when installing {f,e}grep.1. 115255357Sobrien From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>. 115355357Sobrien From Ulrich Drepper <drepper@cygnus.com>. 115455357Sobrien 115555357Sobrien * Many files: use PARAMS instead of __STDC__ for prototypes. 115655357Sobrien From Jim Meyering <meyering@eng.ascend.com>. 115755357Sobrien Patch provided by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>. 115855357Sobrien 115955357Sobrien * dfa.[ch]: uses the one in gawk-3.0.3 with the patch from 116055357Sobrien Arnold (see Changelog: July 12 1997) 116155357Sobrien 116255357Sobrien * grep.1: a note to say -l, -L, -q stop on first match. 116355357Sobrien Noted by Andrew Beattie <gaffer@tug.com>. 116455357Sobrien 116555357Sobrien * grep.c: refuse to scan if the file is a directory. 116655357Sobrien This was causing problems on SUNs. If the directory contains 116755357Sobrien a file that could match the pattern, garbage was display. 116855357Sobrien 116955357Sobrien * tests directory: added new set of tests from Henry Spencer 117055357Sobrien regex package. Change the way the tests were done to be more 117155357Sobrien conformant to automake. 117255357Sobrien 117355357Sobrien * configure.in: added --disable-regex for folks with their own fuctions. 117455357Sobrien 117555357Sobrien * grep-20d : available for testing 117655357Sobrien 117755357Sobrien1997-07-18 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 117855357Sobrien 117955357Sobrien * grep-2.0c: available for testing 118055357Sobrien 118155357Sobrien1997-07-17 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 118255357Sobrien 118355357Sobrien * src/grep.c: Cause grep to fail if `fclose (stdout)' fails. 118455357Sobrien From Jim Meyering <meyering@eng.ascend.com>. 118555357Sobrien 118655357Sobrien * grep.c:usage() more consistency in the --help. 118755357Sobrien 118855357Sobrien * egrep, fgrep were links This is in violation of GNU standards: 118955357Sobrien "Please don't make the behavior of a utility depend on the name used 119055357Sobrien to invoke it. It is useful sometimes to make a link to a utility with 119155357Sobrien a different name, and that should not change what it does." 119255357Sobrien For now egrep and fgrep will be copies of grep. A better scheme 119355357Sobrien should be found later. 119455357Sobrien After discussion with Tom Tromey <tromey@cygnus.com>. 119555357Sobrien 119655357Sobrien * fgrep.man and egrep.man included: They are stubs that call grep.1. 119755357Sobrien * Makefile.am: modified to install {f,e,}grep[,.1]. 119855357Sobrien 119955357Sobrien * speed hack for -l, -L: bail out on first match. 120055357Sobrien From Scott Weikart <scott@igc.apc.org>. 120155357Sobrien 120255357Sobrien * *.[ch]: provided prototypes for strict argument checking 120355357Sobrien With the help of Stewart Levin <stew@sep.stanford.edu>. 120455357Sobrien 120555357Sobrien1997-07-16 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 120655357Sobrien 120755357Sobrien * configure.in: typo in the creation of po/Makefile 120855357Sobrien Noted by Volker Borchert bt@teknon.de. 120955357Sobrien 121055357Sobrien * grep-2.0b: make it available for testing. 121155357Sobrien 121255357Sobrien1997-07-15 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 121355357Sobrien 121455357Sobrien * src/grep.c usage(): cut the --help in smaller printf()'s 121555357Sobrien Noted by Ulrich Drepper <drepper@cygnus.com>. 121655357Sobrien 121755357Sobrien1997-07-14 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 121855357Sobrien 121955357Sobrien * grep-2.0a: make an alpha available for testing. 122055357Sobrien 122155357Sobrien1997-07-12 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 122255357Sobrien 122355357Sobrien * run gettextize: added the po directory filled with *.po files. 122455357Sobrien 122555357Sobrien * check.sh, scriptgen.awk: fix grep paths. 122655357Sobrien 122755357Sobrien * change the directory strucure: grep is now in src to comply with 122855357Sobrien gettext.m4. 122955357Sobrien 123055357Sobrien * grep.c version.c [VERSION]: got rid of version.c, 123155357Sobrien it is now define via config.h. 123255357Sobrien 123355357Sobrien * dfa.c: patch to speed up initialization. 123455357Sobrien Arnold Robbins (arnold@gnu.ai.mit.edu). 123555357Sobrien 123655357Sobrien1997-07-09 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 123755357Sobrien 123855357Sobrien * *.c [HAVE_CONFIG_H]: Macro defined. 123955357Sobrien 124055357Sobrien * support for I18N in Makefile.am and configure.in. 124155357Sobrien 124255357Sobrien * update all the string to use gettext(I18N). 124355357Sobrien Help from Franc,ois Pinard previous patch <pinard@IRO.UMontreal.CA>. 124455357Sobrien 124555357Sobrien1997-07-04 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 124655357Sobrien 124755357Sobrien * obstack.[ch]: updated from glibc. 124855357Sobrien Work of Ulrich Drepper <drepper@cygnus.com>. 124955357Sobrien 125055357Sobrien * regex.[ch]: updated from glibc. 125155357Sobrien Work of Ulrich Drepper <drepper@cygnus.com>. 125255357Sobrien 125355357Sobrien * grep.c: for option -e not counting '\n' for new keys. 125455357Sobrien From Mark Waite <markw@mddmew.fc.hp.com>. 125555357Sobrien 125655357Sobrien * grep.c: for option -f allocating the right count. 125755357Sobrien From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>. 125855357Sobrien Mike Heartel (mike@cs.uoregon.edu). 125955357Sobrien 126055357Sobrien * kwset.c (bmexec): Cast tp[-2] to unsigned char before comparing. 126155357Sobrien From Jim Meyering <meyering@asic.sc.ti.com>. 126255357Sobrien 126355357Sobrien * grep.1: various typos. 126455357Sobrien From Keith Bostic <bostic@bsdi.com>. 126555357Sobrien Mike Heartel (mike@cs.uoregon.edu). 126655357Sobrien 126755357Sobrien1997-06-17 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 126855357Sobrien 126955357Sobrien * grep.c: support for long options. 127055357Sobrien patch done by Franc,ois Pinard <pinard@IRO.UMontreal.CA>. 127155357Sobrien 127255357Sobrien * add getopt1.c in Makefile.am. 127355357Sobrien Noted by Franc,ois Pinard <pinard@IRO.UMontreal.CA> 127455357Sobrien 127555357Sobrien * replace getopt.[ch] and add getopt1.c. 127655357Sobrien 127755357Sobrien * kwset.c: undef malloc before define it. 127855357Sobrien Franc,ois Pinard <pinard@IRO.UMontreal.CA>. 127955357Sobrien 128055357Sobrien1997-06-07 Alain Magloire <alainm@rcsm.ee.mcgill.ca> 128155357Sobrien 128255357Sobrien * grep.c: format incorrect in 128355357Sobrien fprintf("%s: warning: %s: %s...", filename, strerror(errno)). 128455357Sobrien Mike Heartel (mike@cs.uoregon.edu). 128555357Sobrien 128655357Sobrien1996-11-19 David J MacKenzie <djm@catapult.va.pubnix.com> 128755357Sobrien 128855357Sobrien * make.com: Set the logical SYS. From rdb@cocamrd.oz.au (Rodney Brown). 128955357Sobrien 129055357Sobrien * grep.c (S_ISREG): Define if not defined already, for e.g. 129155357Sobrien SunOS 4.0.3. 129255357Sobrien 129355357Sobrien * dfa.c (test_bit, set_bit, clear_bit): Renamed from tstbit, 129455357Sobrien setbit, clrbit to avoid conflict with HP-UX sys/param.h macros. 129555357Sobrien 129655357Sobrien * memchr.c: New file, from GNU libc. 129755357Sobrien * grep.c (memchr): Remove definition. 129855357Sobrien * configure.in: Use AC_REPLACE_FUNCS for memchr. 129955357Sobrien 130055357Sobrien * configure.in: Remove unused checks for memalign and unsigned char. 130155357Sobrien * grep.c: HAVE_WORKING_MMAP -> HAVE_MMAP. 130255357Sobrien 130355357Sobrien * system.h: New file. 130455357Sobrien * dfa.c, kwset.c, grep.c, search.c: Use it instead of duplicating 130555357Sobrien portability boilerplate. 130655357Sobrien 130755357Sobrien * grep.c: Include sys/types.h once, instead of three times 130855357Sobrien conditionally. 130955357Sobrien * dfa.c, kwset.c, search.c: Include sys/types.h unconditionally, 131055357Sobrien to always try to get size_t (needed on some old SysV's). 131155357Sobrien 131255357Sobrien * dfa.c: Define strchr in terms of index, not the other way around. 131355357Sobrien * search.c: Use memcpy instead of bcopy. 131455357Sobrien 131555357Sobrien1996-11-15 David J MacKenzie <djm@catapult.va.pubnix.com> 131655357Sobrien 131755357Sobrien * Many files: Update FSF address. 131855357Sobrien Update configuration to use autoconf v2 and automake. 131955357Sobrien 132055357Sobrien1993-05-22 Mike Haertel <mike@cs.uoregon.edu> 132155357Sobrien 132255357Sobrien * Version 2.0 released. 1323