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