2003-02-13 10:43:07 +03:00
|
|
|
2002-03-26 Bernhard Rosenkraenzer <bero@redhat.com>
|
|
|
|
* src/grep.c: Don't fail if we don't have an stdout fd and -q
|
|
|
|
is used (happens e.g. on calls from hotplug scripts)
|
|
|
|
* src/grep.c: Don't hang forever if fed with an empty string to
|
|
|
|
grep for and --color enabled
|
|
|
|
* src/grep.c: Fix infinite loop on
|
|
|
|
echo "1 one" | grep -E "[0-9]*" -o
|
|
|
|
echo "1 one" | grep -E "[0-9]*" --color
|
|
|
|
* po/*: Sync wiith translation project
|
|
|
|
* src/grep.c, src/Makefile.am, configure.in: Add patch from
|
|
|
|
Paul Eggert <eggert@twinsun.com> to comply with ridiculous
|
|
|
|
guidelines (don't act differently if invoked as egrep or fgrep)
|
|
|
|
* configure.in: Bump version number, require a recent autoconf
|
|
|
|
|
|
|
|
2002-03-14 Bernhard Rosenkraenzer <bero@redhat.com>
|
|
|
|
* src/Makefile.am, po/Makefile.in.in: Support DESTDIR properly
|
|
|
|
* tests/bre.tests: Add fix from
|
|
|
|
Peter Breitenlohner <peb@mppmu.mpg.de>
|
|
|
|
|
2003-01-27 02:15:08 +03:00
|
|
|
2002-03-13 Bernhard Rosenkraenzer <bero@redhat.com>
|
|
|
|
* configure.in, m4/regex.m4, m4/malloc.m4, m4/realloc.m4:
|
|
|
|
Don't set LIBOBJS directly, autoconf 2.53 doesn't like it
|
|
|
|
* intl/*: Sync with gettext 0.11
|
|
|
|
* po/*: Sync with translation project
|
|
|
|
* configure.in, src/Makefile.am: Don't duplicate code - make
|
|
|
|
egrep and fgrep links to grep and set matcher based on
|
|
|
|
application name, suggestion from
|
|
|
|
Guillaume Cottenceau <gc@mandrakesoft.com>
|
|
|
|
* src/grep.c: (prline) Add fix for -i --color from
|
|
|
|
Jim Meyering <meyering@lucent.com>
|
|
|
|
* configure.in: Version 2.5; release
|
|
|
|
|
|
|
|
2002-01-23 Bernhard Rosenkraenzer <bero@redhat.com>
|
|
|
|
* configure.in: Version 2.5g
|
|
|
|
* Makefile.cvs, grep.spec: Add packaging tools
|
|
|
|
Merge djgpp changes from Andrew Cottrell <anddjgpp@ihug.coml.au>:
|
|
|
|
* src/grep.c: Added conditional compilation for DJGPP
|
|
|
|
* djgpp: remove directory as it is no longer required with DJGPP 2.03
|
|
|
|
(or 2.04 when released)
|
|
|
|
* README.DOS: Moved djgpp/readme to readme.dos
|
|
|
|
* PATCHES.AC, PATCHES.AM: delete files - redundant
|
|
|
|
* configure.in, Makefile.am: remove djgpp directory from list
|
|
|
|
|
|
|
|
2002-01-22 Bernhard Rosenkraenzer <bero@redhat.com>
|
|
|
|
* doc/grep.texi, doc/grep.1, NEWS: Document --label
|
|
|
|
* po/ru.po: Sync with translation project
|
|
|
|
* po/grep.pot: Sync with source
|
|
|
|
|
|
|
|
2002-01-18 Bernhard Rosenkraenzer <bero@redhat.com>
|
|
|
|
* src/grep.c: Add --label, based on patch from Stepan Koltsov
|
|
|
|
|
|
|
|
2001-11-20 Bernhard Rosenkraenzer <bero@redhat.com>
|
|
|
|
* autogen.sh: Don't hardcode aclocal dir
|
|
|
|
|
|
|
|
2001-11-19 Bernhard Rosenkraenzer <bero@redhat.com>
|
|
|
|
* src/grep.c: Add --only-matching (-o) switch (see NEWS)
|
|
|
|
* doc/grep.texi, doc/grep.1, NEWS: Document changes
|
|
|
|
* configure.in, lib/Makefile.am: Don't use internal getopt if
|
|
|
|
we're on a system that provides a working getopt function
|
|
|
|
|
|
|
|
2001-09-25 Bernhard Rosenkraenzer <bero@redhat.com>
|
|
|
|
* configure.in: Detect pcre correctly even when it's in
|
|
|
|
non-standard locations, using pcre-config
|
|
|
|
* src/grep.c: Add --color={always,never,tty} argument (like in ls)
|
|
|
|
* src/grep.c: Turn off blinking in the default colorization
|
|
|
|
* src/grep.c: Add --devices (-D) switch (analogous to --directories)
|
|
|
|
* src/dfa.c: Fix an i18n bug: echo "A" | grep '[A-Z0-9]' wouldn't work
|
|
|
|
in non-C-Locales on systems using current versions of glibc.
|
|
|
|
* AUTHORS: Change maintainer, credit Alain for his work until now
|
|
|
|
* configure.in, m4/decl.m4, m4/dosfile.m4, m4/gettext.m4,
|
|
|
|
m4/init.m4, m4/install.m4, m4/largefile.m4, m4/lcmessage.m4,
|
|
|
|
m4/header.m4, m4/isc-posix.m4, m4/missing.m4, m4/progtest.m4,
|
|
|
|
m4/sanity.m4:
|
|
|
|
Fix build with autoconf 2.5x, retain 2.1x compatibility for now
|
|
|
|
* autogen.sh: Add some crude hacks to make it possible to build with
|
|
|
|
both autoconf 2.5x and 2.1x
|
|
|
|
* acconfig.h: removed (no longer required)
|
|
|
|
* Makefile.am: add cvs-clean target
|
|
|
|
* doc/grep.texi, doc/grep.1, NEWS: Document changes
|
|
|
|
(--color, --devices, -D)
|
|
|
|
* src/dfa.c, src/grep.c: Add vim modelines
|
|
|
|
|
|
|
|
2001-08-30 Alain Magloire
|
|
|
|
|
|
|
|
* configure.in: Add gl in ALL_LINGUAS.
|
|
|
|
|
|
|
|
2001-08-30 Kurt D Schwehr
|
|
|
|
|
|
|
|
* doc/grep.1: Warn that grep insert a "--" between groups of matches,
|
|
|
|
when using the context options.
|
|
|
|
* doc/grep.texi: Likewised.
|
|
|
|
|
|
|
|
2001-08-25 Heikki Korpela
|
|
|
|
|
|
|
|
* doc/grep.texi: Point out that some Platforms do not support
|
|
|
|
reading of directories and silently ignore them.
|
|
|
|
|
|
|
|
2001-08-21 Alain Magloire
|
|
|
|
|
|
|
|
* lib/malloc.c: New file:
|
|
|
|
* lib/realloc.c: New file:
|
|
|
|
* lib/Makefile.am: Add malloc.c and realloc.c in EXTRA_DIST.
|
|
|
|
|
|
|
|
2001-07-31 Alain Magloire
|
|
|
|
|
|
|
|
* po/*.po: New files from the translation team:
|
|
|
|
grep-2.5e.de.po grep-2.5e.el.po grep-2.5e.eo.po grep-2.5e.es.po
|
|
|
|
grep-2.5e.et.po grep-2.5e.fr.po grep-2.5e.gl.po grep-2.5e.it.po
|
|
|
|
grep-2.5e.pl.po grep-2.5e.sl.po
|
|
|
|
|
|
|
|
2001-07-31 Andreas Schwab
|
|
|
|
|
|
|
|
* src/grep.c: Fix all uses of error to pass a proper format
|
|
|
|
string.
|
|
|
|
|
|
|
|
2001-07-29 Alain Magloire
|
|
|
|
|
|
|
|
* grep/src/grep.c (usage): Typos corrected.
|
|
|
|
Patches from Santiago Vila.
|
|
|
|
|
|
|
|
2001-07-29 Alain Magloire
|
|
|
|
|
|
|
|
David Clissold, wrote:
|
|
|
|
a small bug in the GNU grep 2.4.2, which may have gone unnoticed
|
|
|
|
because it only causes a failure if building on a system with large
|
|
|
|
files enabled (e.g. an "off_t" is a "long long" rather than a "long").
|
|
|
|
savedir() takes on off_t argument, but in grepdir() the parameter
|
|
|
|
is cast to an (unsigned). Well, if an off_t is larger than an int,
|
|
|
|
the value gets truncated. This would not normally have an effect on a
|
|
|
|
little-endian platform (unless the file is >2GB), but on a big-endian
|
|
|
|
system it will always fail. The external effect is that
|
|
|
|
"grep -r foo dir_name" fails with ENOMEM (from malloc() within
|
|
|
|
savedir()).
|
|
|
|
|
|
|
|
* grep/src/grep.c (grepdir): Remove the (unsigned) cast when calling
|
|
|
|
savedir().
|
|
|
|
Patch from David Clissold.
|
|
|
|
|
|
|
|
2001-07-29 Alain Magloire
|
|
|
|
|
|
|
|
* grep/doc/grep.texi: In Bugs report use {n,m} for consistency.
|
|
|
|
* grep/doc/grep.1: Likewised.
|
|
|
|
Noted by Steven Lucy.
|
|
|
|
|
|
|
|
2001-04-27 Isamu Hasegawa
|
|
|
|
|
|
|
|
* dfa.c (mblen_buf) : New variable contains the amount of remain
|
|
|
|
byte of corresponding multibyte character in the input string.
|
|
|
|
(SKIP_REMAIN_MB_IF_INITIAL_STATE) : Use mblen_buf.
|
|
|
|
(match_anychar) : Use mblen_buf.
|
|
|
|
(match_mb_charset) : Use mblen_buf.
|
|
|
|
(transit_state_consume_1char) : Use mblen_buf.
|
|
|
|
(transit_state) : Use inputwcs to get current (multibyte) character.
|
|
|
|
(dfaexec) : Add initialization of mblen_buf.
|
|
|
|
|
|
|
|
2001-04-27 Isamu Hasegawa
|
|
|
|
|
|
|
|
* dfa.c (addtok) : Set appropriate value to multibyte_prop.
|
|
|
|
(dfastate) : Add the initialization of the variable.
|
|
|
|
(dfaexec) : Call transit_state if d->fail may transit by
|
|
|
|
multibyte characters.
|
|
|
|
(transit_state_singlebyte) : Clean up unnecessary code.
|
|
|
|
(transit_state_consume_1char) : Likewise.
|
|
|
|
(transit_state) : Add checking for word and newline.
|
|
|
|
|
|
|
|
2001-04-19 Isamu Hasegawa
|
|
|
|
|
|
|
|
* search.c (check_multibyte_string) : Check the case when mbclen == 0.
|
|
|
|
|
|
|
|
2001-04-11 Isamu Hasegawa
|
|
|
|
|
|
|
|
* search.c (check_multibyte_string) : Check the head of multibyte
|
|
|
|
characters, and optimize a bit.
|
|
|
|
(EGexecute) : Optimize a bit.
|
|
|
|
(Fexecute) : Fix the index.
|
|
|
|
|
|
|
|
2001-04-02 Alain Magloire
|
|
|
|
|
|
|
|
* lib/regex.c: Update from GNU lib C, with the changes
|
|
|
|
provided by Paul Eggert.
|
|
|
|
* lib/posix/regex.h: Likewise.
|
|
|
|
|
|
|
|
2001-02-17 Paul Eggert
|
|
|
|
|
|
|
|
Stop trying to support hosts that have nonstandard declarations for
|
|
|
|
mbrtowc and/or mbstate_t. It's not worth the portability hassle.
|
|
|
|
|
|
|
|
* lib/quotearg.c (mbrtowc, mbsinit): Remove workaround macros
|
|
|
|
for hosts that have mbrtowc but not mbstate_t, as we now
|
|
|
|
insist on proper declarations for both before using mbrtowc.
|
|
|
|
|
|
|
|
2001-03-18 Alain Magloire
|
|
|
|
|
|
|
|
* configure.in: Call AC_MBSTATE_T.
|
|
|
|
* Makefile.am: Add mbstate_t.m4
|
|
|
|
* m4/Makefile.am: Add mbstate_t.m4
|
|
|
|
* m4/mbstate_t.m4: New m4 macro.
|
|
|
|
* lib/strtol.c: Define CHAR_BITS.
|
|
|
|
Uwe H. Steinfeld, Ruslan Ermilov, Volkert Bochert, noted
|
|
|
|
that mbstate_t was not define for certain platforms.
|
|
|
|
|
|
|
|
2001-03-18 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (fillbuf): Fix storage allocation performance
|
|
|
|
bug: buffer was doubling in size in many cases where it didn't
|
|
|
|
have to.
|
|
|
|
|
|
|
|
2001-03-17 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (fillbuf): Avoid unnecessary division by 2.
|
|
|
|
Don't check xrealloc return value; it's guaranteed to be nonzero.
|
|
|
|
(fillbuf, grepdir): Use xalloc_die rather than error; it's shorter.
|
|
|
|
|
|
|
|
2001-03-17 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c (context_length_arg): error () passing wrong format.
|
|
|
|
Spotted by Jim Meyering.
|
|
|
|
|
|
|
|
2001-03-07 Alain Magloire
|
|
|
|
|
|
|
|
* README-alpha: Removed reference to GNU tar, add the location
|
|
|
|
of the CVSROOT.
|
|
|
|
|
|
|
|
2001-03-06 Alain Magloire
|
|
|
|
|
|
|
|
Only the Regex patterns should be split in an array, patterns[].
|
|
|
|
The dfa and KWset compiled patterns should remain global and the
|
|
|
|
patterns compiled all at once.
|
|
|
|
|
|
|
|
* src/search.c: include "error.h" and "xalloc.h" to get prototyping
|
|
|
|
of x*alloc() and error().
|
|
|
|
(kwsinit): Reverse to previous behaviour and takes no argument.
|
|
|
|
(kwsmusts): Likewised.
|
|
|
|
(Gcompile): For the regex pattern, split them and each pattern
|
|
|
|
is put in different compiled structure patterns[]. The patterns
|
|
|
|
are given to dfacomp() and kwsmusts() as is.
|
|
|
|
(Ecompile): Likewised.
|
|
|
|
(Fcompile): Reverse to the old behaviour of compiling the enire
|
|
|
|
patterns in one shot.
|
|
|
|
(EGexecute): If falling to GNU regex for the matching, loop in the
|
|
|
|
array of compile patterns[] to find a match.
|
|
|
|
(error): Many error () were call with arguments in the wrong order.
|
|
|
|
* tests/file.sh: Simple test to check for pattern in files.
|
|
|
|
|
|
|
|
Reaction to bug report fired by Greg Louis <glouis@dynamicro.on.ca>
|
|
|
|
|
|
|
|
2001-03-06 Isamu Hasegawa
|
|
|
|
|
|
|
|
In multibyte environments, handle multibyte characters as single
|
|
|
|
characters in bracket expressions.
|
|
|
|
|
|
|
|
* src/dfa.h (mb_char_classes) : new structure.
|
|
|
|
(mbcsets): new variable.
|
|
|
|
(nmbcsets): new variable.
|
|
|
|
(mbcsets_alloc) : new variable.
|
|
|
|
* src/dfa.c (prtok) : handle MBCSET.
|
|
|
|
(fetch_wc): new function to fetch a wide character.
|
|
|
|
(parse_bracket_exp_mb) : new function to handle multibyte character
|
|
|
|
in lex().
|
|
|
|
(lex): invoke parse_bracket_exp_mb() for multibyte bracket expression.
|
|
|
|
(atom): handle MBCSET.
|
|
|
|
(epsclosure): likewise.
|
|
|
|
(dfaanalyze): likewise.
|
|
|
|
(dfastate): likewise.
|
|
|
|
(match_mb_charset): new function to judge whether a bracket match
|
|
|
|
with a multibyte character.
|
|
|
|
(check_matching_with_multibyte_ops) : handle MBCSET.
|
|
|
|
(dfainit): initialize new variables.
|
|
|
|
(dfafree): free new variables.
|
|
|
|
|
|
|
|
2001-03-04 Alain Magloire
|
|
|
|
|
|
|
|
To get more in sync with other GNU utilities like GNU tar and fetish
|
|
|
|
all the supporting functions are now under lib.
|
|
|
|
Thanks to Jim Meyering, Volkert Bochert and Paul Eggert for
|
|
|
|
the code and the reminders.
|
|
|
|
|
|
|
|
* src/grep.c (fatal): Function removed, using error () from
|
|
|
|
lib/error.c instead.
|
|
|
|
(usage): Copyright updated.
|
|
|
|
(error): Function removed, using error () from lib/error.c instead,
|
|
|
|
adjust prototypes.
|
|
|
|
(prog): Global variable rename to program_name, to work with new
|
|
|
|
lib/error.c.
|
|
|
|
(xrealloc): Removed using lib/xmalloc.c.
|
|
|
|
(xmalloc): Removed using lib/xmalloc.c
|
|
|
|
(main): Register with atexit() to check for error on stdout.
|
|
|
|
* configure.in: Check for atexit(), call jm_MALLOC, jm_RELLOC and
|
|
|
|
jm_PREREQ_ERROR.
|
|
|
|
* tests/bre.awk: Removed the hack to drain the buffer since we
|
|
|
|
always fclose(stdout) atexit.
|
|
|
|
* tests/ere.awk: Likewise.
|
|
|
|
* tests/spencer1.awk: Likewise.
|
|
|
|
* bootstrap/Makefile.try: Update the Makefile to reflect the changes
|
|
|
|
in the new hierarchy.
|
|
|
|
|
|
|
|
* README-alpha: New File.
|
|
|
|
* m4/realloc.m4: New File.
|
|
|
|
* m4/malloc.m4: New File.
|
|
|
|
* m4/error.m4: New File.
|
|
|
|
* m4/Makefile.am: Updated.
|
|
|
|
* lib: New directory.
|
|
|
|
* lib/Makefile.am: New file.
|
|
|
|
* lib/closeout.c: New file.
|
|
|
|
* lib/closeout.h: New file.
|
|
|
|
* lib/fnmatch.c: New file.
|
|
|
|
* lib/fnmatch.h: New file.
|
|
|
|
* lib/atexit.c: New file.
|
|
|
|
* lib/error.c: New file.
|
|
|
|
* lib/error.h: New file.
|
|
|
|
* lib/quotearg.h: New file.
|
|
|
|
* lib/quotearg.c: New file.
|
|
|
|
* lib/xmalloc.c: New file.
|
|
|
|
* lib/posix: New directory.
|
|
|
|
* lib/posix/Makefile.am: New file.
|
|
|
|
* src/getopt.c: Moved to lib.
|
|
|
|
* src/getopt1.c: Moved to lib.
|
|
|
|
* src/getopt.h: Moved to lib.
|
|
|
|
* src/alloca.c: Moved to lib.
|
|
|
|
* src/exclude.c: Moved to lib.
|
|
|
|
* src/exclude.h: Moved to lib.
|
|
|
|
* src/hard-locale.h: Moved to lib.
|
|
|
|
* src/hard-locale.c: Moved to lib.
|
|
|
|
* src/isdir.c: Moved to lib.
|
|
|
|
* src/mechr.c: Moved to lib.
|
|
|
|
* src/obstack.c: Moved to lib.
|
|
|
|
* src/obstack.h: Moved to lib.
|
|
|
|
* src/regex.c: Moved to lib.
|
|
|
|
* src/regex.h: Moved to lib.
|
|
|
|
* src/posix: Moved to lib.
|
|
|
|
* src/posix/regex.h: Moved to lib.
|
|
|
|
* src/savedir.h: Moved to lib.
|
|
|
|
* src/savedir.c: Moved to lib.
|
|
|
|
* src/stpcpy.c: Moved to lib.
|
|
|
|
* src/strtoul.c: Moved to lib.
|
|
|
|
* src/strtol.c: Moved to lib.
|
|
|
|
* src/strtoull.c: Moved to lib.
|
|
|
|
* src/strtoumax.c: Moved to lib.
|
|
|
|
* src/xstrtol.c: Moved to lib.
|
|
|
|
* src/xstrtol.h: Moved to lib.
|
|
|
|
* src/xstrtoumax.c: Moved to lib.
|
|
|
|
|
|
|
|
2001-03-01 Isamu Hasegawa
|
|
|
|
|
|
|
|
Implement the mechanism to match with multibyte characters,
|
|
|
|
and use it for `period' in multibyte environments.
|
|
|
|
|
|
|
|
* dfa.h (mbps): new variable.
|
|
|
|
* dfa.c (prtok): handle ANYCHAR.
|
|
|
|
(lex): use ANYCHAR for `period' in multibyte environments.
|
|
|
|
(atom): handle ANYCHAR.
|
|
|
|
(state_index): initialize mbps in multibyte environments.
|
|
|
|
(epsclosure): handle ANYCHAR.
|
|
|
|
(dfaanalyze): handle ANYCHAR.
|
|
|
|
(dfastate): handle ANYCHAR.
|
|
|
|
(realloc_trans_if_necessary): new function.
|
|
|
|
(transit_state_singlebyte): new function.
|
|
|
|
(match_anychar): new function.
|
|
|
|
(check_matching_with_multibyte_ops): new function.
|
|
|
|
(transit_state_consume_1char): new function.
|
|
|
|
(transit_state): new function.
|
|
|
|
(dfaexec): invoke transit_state if expression can match with
|
|
|
|
a multibyte character in multibyte environments.
|
|
|
|
(dfamust): handle ANYCHAR.
|
|
|
|
|
|
|
|
2001-03-01 Alain Magloire
|
|
|
|
|
|
|
|
* src/exclude.c: New file.
|
|
|
|
* src/exclude.h: New file.
|
|
|
|
* src/grep.c (main): Took the GNU tar code to handle
|
|
|
|
the option --include, --exclude, --exclude-from.
|
|
|
|
Files are check for a match, with exlude_filename ().
|
|
|
|
New option --exclude-from.
|
|
|
|
* src/savedir.c: Call exclude_filename() to check for
|
|
|
|
file pattern exclusion or inclusion.
|
|
|
|
* configure.in: --disable-pcre rename to --disable-perl-regexp.
|
|
|
|
|
|
|
|
|
|
|
|
2001-02-25 Alain Magloire
|
|
|
|
|
|
|
|
* src/dfa.c: Typo corrected.
|
|
|
|
Noted by Isamu Hasegawa.
|
|
|
|
* src/savedir.c: Typos corrected.
|
|
|
|
|
|
|
|
2001-02-22 Alain Magloire
|
|
|
|
|
|
|
|
* src/savedir.c (isdir1): New function, calling isdir with
|
|
|
|
the correct pathname.
|
|
|
|
|
|
|
|
2001-02-19 Isamu Hasegawa
|
|
|
|
|
|
|
|
Avoid incorrect state transition in multibyte environments.
|
|
|
|
|
|
|
|
* dfa.h (nmultibyte_prop): new variable.
|
|
|
|
(multibyte_prop): new variable.
|
|
|
|
* dfa.c (addtok): set inputwcs.
|
|
|
|
(dfastate): avoid incorrect state transition in multibyte
|
|
|
|
environments.
|
|
|
|
(dfaexec): likewise.
|
|
|
|
(dfainit): init multibyte_prop.
|
|
|
|
(dfafree): free multibyte_prop.
|
|
|
|
(inputwcs): new variable.
|
|
|
|
|
|
|
|
2001-02-19 Isamu Hasegawa
|
|
|
|
|
|
|
|
Handle a multibyte character followed by '*', '+', and '{n,m}'
|
|
|
|
correctly.
|
|
|
|
|
|
|
|
* dfa.c (update_mb_len_index): new function.
|
|
|
|
Support for multibyte string.
|
|
|
|
(FETCH): call update_mb_len_index.
|
|
|
|
(lex): check cur_mb_index not to misunderstand multibyte characters.
|
|
|
|
(atom): make a tree from a multibyte character.
|
|
|
|
(dfaparse): initialize new variables.
|
|
|
|
(mbs): new variable.
|
|
|
|
(cur_mb_len): new variable.
|
|
|
|
(cur_mb_index): new variable.
|
|
|
|
|
|
|
|
2001-02-18 Jim Meyering
|
|
|
|
|
|
|
|
* m4/dosfile.m4 (AC_DOSFILE): Move AC_DEFINEs out of AC_CACHE_CHECK.
|
|
|
|
|
|
|
|
2001-02-17 Alain Malgoire
|
|
|
|
|
|
|
|
* doc/grep.texi: Document the new options and the new behaviour
|
|
|
|
back-references are local. Use excerpt from Karl Berry regex
|
|
|
|
texinfo.
|
|
|
|
|
|
|
|
* bootstrap/Makefile.try: Added xstrtoumax.o xstrtoul.o hard-local.o
|
|
|
|
|
|
|
|
2001-02-17 Alain Magloire
|
|
|
|
|
|
|
|
From Guglielmo 'bond' Bondioni :
|
|
|
|
The bug was that using a multi line file that contained REs (one per
|
|
|
|
line), backreferences in the REs were considered global (to the file)
|
|
|
|
and not local (to the line).
|
|
|
|
That is, \1 in line n refers to the first \(.\) in the whole file,
|
|
|
|
rather than in the line itself.
|
|
|
|
|
|
|
|
From Tapani Tarvainen :
|
|
|
|
# Re: grep -e '\(a\)\1' -e '\(b\)\1'
|
|
|
|
That's not the way it should work: multiple -e arguments
|
|
|
|
should be treated as independent patterns and back references
|
|
|
|
should not refer to previous ones.
|
|
|
|
|
|
|
|
From Paul Eggert :
|
|
|
|
GNU grep currently does not issue
|
|
|
|
diagnostics for the following two cases, both of which are erroneous:
|
|
|
|
grep -e '[' -e ']'
|
|
|
|
grep '[
|
|
|
|
]'
|
|
|
|
POSIX requires a diagnostic in both cases because '[' is not a valid
|
|
|
|
regular expression.
|
|
|
|
|
|
|
|
To overcome those problems, grep no longer pass the concatenate
|
|
|
|
patterns to GNU regex but rather compile each patterns separately
|
|
|
|
and keep the result in an array.
|
|
|
|
|
|
|
|
* src/search.c (patterns): New global variable; a structure array
|
|
|
|
holding the compiled patterns.
|
|
|
|
Declare function prototypes to minimize error.
|
|
|
|
(dfa, kswset, regexbuf, regs): Removed, no longer static globals, but
|
|
|
|
rather fields in patterns[] structure per motif.
|
|
|
|
(Fcompile): Alloc an entry in patterns[] to hold the regex.
|
|
|
|
(Ecompile): Alloc an entry per motif in the patterns[] array.
|
|
|
|
(Gcompile): Likewise.
|
|
|
|
(EGexecute): Loop through of array of patterns[] for a match.
|
|
|
|
|
|
|
|
2001-02-17 Alain Magloire
|
|
|
|
|
|
|
|
From Bernd Strieder :
|
|
|
|
# tail -f logfile | grep important | do_something_urgent
|
|
|
|
# tail -f logfile | grep important | do_something_taking_very_long
|
|
|
|
If grep does full buffering in these cases then the urgent operation
|
|
|
|
does not happen as it should in the first case, and in the second case
|
|
|
|
time is lost due to waiting for the buffer to be filled.
|
|
|
|
This is clearly spoken not grep's fault in the first place, but libc's.
|
|
|
|
There is a heuristic in libc that make a stream line-buffered only if a
|
|
|
|
terminal is on the other end. This doesn't take care of the cases where
|
|
|
|
this connection is somehow indirect.
|
|
|
|
|
|
|
|
* src/grep.c (line_buffered): new option variable.
|
|
|
|
(prline): if line_buffered is set fflush() is call.
|
|
|
|
(usage): line_buffered new option.
|
|
|
|
Input from Paul Eggert, doing setvbuf() may not be portable
|
|
|
|
and breaks grep -z.
|
|
|
|
|
|
|
|
2001-02-16 Alain Magloire
|
|
|
|
|
|
|
|
Patch from Isamu Hasegawa, for multibyte support.
|
|
|
|
This patch prevent kwset_matcher from following problems.
|
|
|
|
For example, in SJIS encoding, one character has the codepoint 0x895c.
|
|
|
|
So the second byte of the character can match with '\' incorrectly.
|
|
|
|
And in eucJP encoding, there are the characters whose codepoints are
|
|
|
|
0xa5b9, 0xa5c8. On the other hand, there is one character whose
|
|
|
|
codepoint is 0xb9a5. So 0xb9a5 can match with 2nd byte of 0xa5b9
|
|
|
|
and 1st byte of 0xa5c8.
|
|
|
|
|
|
|
|
* configure.in: Add check for mbrtowc.
|
|
|
|
* src/search.c (check_multibyte_string): new function.
|
|
|
|
Support for multibyte string.
|
|
|
|
(EGexecute): call check_multibyte_string when kwset is set.
|
|
|
|
(Fexecute): call to check_multibyte_string.
|
|
|
|
(MBS_SUPPORT): new macro.
|
|
|
|
(MB_CUR_MAX): new macro.
|
|
|
|
|
|
|
|
2001-02-16 Alain Magloire
|
|
|
|
|
|
|
|
* djgpp/config.bat: Fix for 4dos.com.
|
|
|
|
* m4/dosfile.m4 (HAVE_DOS_FILE_CONTENTS): Was not set.
|
|
|
|
Bugs noted and patched by Juan Manuel Guerrero.
|
|
|
|
|
|
|
|
2001-02-16 Alain Magloire
|
|
|
|
|
|
|
|
A much requested feature, the possibility to select
|
|
|
|
files when doing recurse :
|
|
|
|
# find . -name "*.c" | xargs grep main {}
|
|
|
|
# grep --include=*.c main .
|
|
|
|
# find . -not -name "*.c" | xargs grep main {}
|
|
|
|
# grep --exclude=*.c main .
|
|
|
|
|
|
|
|
* src/grep.c (short_options): -R equivalent to -r.
|
|
|
|
(#ifdef) : Fix some inconsistencies in the use of #ifdefs, prefer
|
|
|
|
#if defined() wen possible.
|
|
|
|
(long_options): Add --color, --include and exclude.
|
|
|
|
(Usage): Description of new options.
|
|
|
|
(color): Rename color variable to color_option.
|
|
|
|
Removed 'always|never|auto' arguments, not necessary for grep.
|
|
|
|
(exclude_pattern): new variable, holder for the file pattern.
|
|
|
|
(include_pattern): new variable, hoder for the file pattern.
|
|
|
|
* src/savedir.c: Signature change, take two new argmuments.
|
|
|
|
* doc/grep.texi: Document, new options.
|
|
|
|
* doc/grep.man: Document, new options.
|
|
|
|
|
|
|
|
2001-02-09 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c (long_options): Added equivalent to -r with -R.
|
|
|
|
* src/grep.c (usage): added --color and --colour.
|
|
|
|
Noted with patch from, H.Merijn Brand and Wichert Akkerman.
|
|
|
|
|
|
|
|
2001-02-09 Alain Magloire
|
|
|
|
|
|
|
|
Patch from Ulrich Drepper to provide hilighting.
|
|
|
|
|
|
|
|
* src/grep.c: New option --color.
|
|
|
|
(color): New static var.
|
|
|
|
(COLOR_OPTION): new constant.
|
|
|
|
(grep_color): new static var.
|
|
|
|
(prline): Now when color is set prline() will call the current matcher
|
|
|
|
to find the offset of the matching string.
|
|
|
|
* src/savedir.c: Take advantage of _DIRENT_HAVE_TYPE if supported.
|
|
|
|
* src/search.c (EGexecute, Fexecute, Pexecute): Take a new argument
|
|
|
|
when doing exact match for the color hiligting.
|
|
|
|
|
|
|
|
2000-09-01 Brian Youmans
|
|
|
|
|
|
|
|
* doc/grep.texi: Typo fixes.
|
|
|
|
|
|
|
|
2000-08-30 Paul Eggert
|
|
|
|
|
|
|
|
* doc/grep.texi (Usage): Talk about what "grep -r hello *.c"
|
|
|
|
means.
|
|
|
|
|
|
|
|
2000-08-20 Paul Eggert
|
|
|
|
|
|
|
|
Handle range expressions correctly even when they match
|
|
|
|
strings with two or more characters.
|
|
|
|
|
|
|
|
* src/dfa.h (CRANGE): New enum value. Comment fix.
|
|
|
|
|
|
|
|
* src/dfa.c: Include <locale.h> if HAVE_SETLOCALE.
|
|
|
|
Include "hard-locale.h".
|
|
|
|
(prtok): Print CRANGE.
|
|
|
|
(hard_LC_COLLATE): New static var.
|
|
|
|
(lex): Return CRANGE when parsing a character range in a hard locale.
|
|
|
|
Don't use strcoll; it's no longer needed and wasn't correct anyway.
|
|
|
|
Use unsigned rather than token to hold unsigned chars.
|
|
|
|
(addtok): Comment fix.
|
|
|
|
(atom): Treat a CRANGE as if it were (.\1), approximately.
|
|
|
|
(dfaparse): Initialize hard_LC_COLLATE.
|
|
|
|
|
|
|
|
* src/Makefile.am (base_sources): Add hard-locale.c, hard-locale.h.
|
|
|
|
|
|
|
|
* src/hard-locale.c, src/hard-locale.h: New files, taken from
|
|
|
|
textutils.
|
|
|
|
|
|
|
|
2000-08-20 Paul Eggert
|
|
|
|
|
|
|
|
* tests/Makefile.am (TESTS_ENVIRONMENT): Add LC_ALL=C, since
|
|
|
|
some of the tests assume the C locale.
|
|
|
|
|
|
|
|
2000-08-16 Paul Eggert
|
|
|
|
|
|
|
|
* src/search.c (Gcompile, Ecompile): -x overrides -w, for
|
|
|
|
consistency with fgrep. Don't assume that sizes fit in 'int'.
|
|
|
|
Fix comments to match code.
|
|
|
|
|
|
|
|
2000-06-06 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (grepdir): Don't look at st_dev when testing for
|
|
|
|
Mingw32 bug.
|
|
|
|
|
|
|
|
2000-06-05 Paul Eggert
|
|
|
|
|
|
|
|
Port to Mingw32, based on suggestions from Christian Groessler
|
|
|
|
<cpg@aladdin.de>.
|
|
|
|
|
|
|
|
* src/isdir.c: New file, taken from fileutils.
|
|
|
|
|
|
|
|
* src/Makefile.am (base_sources): Add isdir.c.
|
|
|
|
|
|
|
|
* src/grep.c (grepfile): Use isdir instead of doing it inline.
|
|
|
|
(grepdir): Suppress ancestor check if the directory's inode and device
|
|
|
|
are both zero, as that occurs only on Mingw32 which doesn't support
|
|
|
|
inode or device.
|
|
|
|
|
|
|
|
* src/system.h (isdir): New decl.
|
|
|
|
(is_EISDIR): Depend on HAVE_DIR_EACCES_BUG, not D_OK.
|
|
|
|
Use isdir, not access.
|
|
|
|
|
|
|
|
2000-06-02 Paul Eggert
|
|
|
|
|
|
|
|
Problen noted by Gerald Stoller <gerald_stoller@hotmail.com>
|
|
|
|
|
|
|
|
* src/grep.c (main): POSIX.2 says that -q overrides -l, which
|
|
|
|
in turn overrides the other output options. Fix grep to
|
|
|
|
behave that way.
|
|
|
|
|
|
|
|
2000-05-27 Paul Eggert
|
|
|
|
|
|
|
|
Simplify and tune the buffer allocation strategy. Do not reserve a
|
|
|
|
large save area: reserve only enough bytes to hold the residue, plus
|
|
|
|
page alignment. Put a newline sentinel before the buffer, for speed
|
|
|
|
when searching backwards for newline.
|
|
|
|
|
|
|
|
* src/grep.c (ubuffer, bufsalloc, PREFERRED_SAVE_FACTOR, page_alloc):
|
|
|
|
Remove. All uses changed.
|
|
|
|
(INITIAL_BUFSIZE): New macro.
|
|
|
|
(reset, fillbuf): Use simpler buffer allocation strategy.
|
|
|
|
(reset): Check for preposterously large pagesize that would cause
|
|
|
|
later calculations to overflow.
|
|
|
|
(fillbuf): Do not resize buffer if there's room at the end for
|
|
|
|
at least one more page. This greatly increases performance when
|
|
|
|
reading from non-regular files that contain no newlines.
|
|
|
|
When growing the buffer, double its size instead of using a
|
|
|
|
more complicated algorithm.
|
|
|
|
(prtext, grep): Speed up by relying on the newline sentinel before the
|
|
|
|
start of the buffer.
|
|
|
|
(grep): When looking backwards for the last newline in a buffer,
|
|
|
|
stop when we hit the residue, since it can't contain a newline.
|
|
|
|
This avoids an O(N**2) algorithm when reading binary data from
|
|
|
|
a pipe. Use a sentinel to speed up the backward search for newline.
|
|
|
|
(nlscan): Undo previous change; it wasn't needed and just complicates
|
|
|
|
and slows down the code a tad.
|
|
|
|
|
|
|
|
2000-05-24 Paul Eggert
|
|
|
|
|
|
|
|
Handle very large input counts better. Bug noted by Jim Meyering.
|
|
|
|
|
|
|
|
* src/grep.c (totalcc, totalnl): Use uintmax_t, not off_t.
|
|
|
|
(add_count): New function.
|
|
|
|
(nlscan, prline, grep): Use it to check line and byte count overflows.
|
|
|
|
(nlscan, grep): Don't keep track of counts when not asked to; this
|
|
|
|
avoids unnecessary overflow diagnostics.
|
|
|
|
(print_offset_sep): Now takes args of type uintmax_t and char,
|
|
|
|
not off_t and int.
|
|
|
|
|
|
|
|
2000-05-16 Paul Eggert
|
|
|
|
|
|
|
|
Problem reported by Bob Proulx <rwp@hprwp.fc.hp.com>, this patch
|
|
|
|
is base on his finding, with appropiate corrections.
|
|
|
|
|
|
|
|
* src/grep.c (main): Fix bug: -x and -w matched even when no
|
|
|
|
patterns were specified.
|
|
|
|
* tests/empty.sh: Test for -x and -w bug in grep 2.4.2.
|
|
|
|
|
|
|
|
2000-04-24 Paul Eggert
|
|
|
|
|
|
|
|
POSIX.2 conformance fixes: grep -q now exits with status zero
|
|
|
|
if an input line is selected, even if an error also occurs.
|
|
|
|
grep -s no longer affects exit status.
|
|
|
|
|
|
|
|
* src/grep.c (suppress_errors): Move definition earlier so
|
|
|
|
that suppressible_error can use it.
|
|
|
|
(suppressible_error): New function.
|
|
|
|
(exit_on_match): New var.
|
|
|
|
(grepbuf): If exit_on_match is nonzero, exit with status zero
|
|
|
|
immediately.
|
|
|
|
(grep, grepfile, grepdir): Invoke suppressible_error.
|
|
|
|
(main): -q sets exit_on_match.
|
|
|
|
|
|
|
|
* doc/grep.1, doc/grep.texi, NEWS:
|
|
|
|
Document -q's behavior as required by POSIX.2.
|
|
|
|
|
|
|
|
* tests/status.sh:
|
|
|
|
Test for -q and -s behavior as conforming to POSIX.2.
|
|
|
|
|
|
|
|
2000-04-20 Paul Eggert
|
|
|
|
|
|
|
|
* tests/Makefile.am (TESTS_ENVIRONMENT):
|
|
|
|
Set GREP_OPTIONS to the empty string.
|
|
|
|
|
|
|
|
2000-04-20 Paul Eggert
|
|
|
|
|
|
|
|
* tests/status.sh: Fix typo: test -b -> test -r.
|
|
|
|
|
|
|
|
2000-04-20 Paul Eggert
|
|
|
|
|
|
|
|
* src/dfa.c (lex):
|
|
|
|
Do not assume that [c] is equivalent to [c-c]; this isn't true
|
|
|
|
if LC_COLLATE specifies that some characters are equivalent.
|
|
|
|
(setbit_case_fold): New function.
|
|
|
|
(lex): Use it to simplify the code a bit.
|
|
|
|
|
|
|
|
2000-04-17 Paul Eggert
|
|
|
|
|
|
|
|
Do CRLF munging only if HAVE_DOS_FILE_CONTENTS, instead of
|
|
|
|
having it depend on O_BINARY (which leads to incorrect results
|
|
|
|
on BeOS, VMS, and MacOS).
|
|
|
|
|
|
|
|
* bootstrap/Makefile.try (DEFS): Add -DHAVE_DOS_FILE_CONTENTS.
|
|
|
|
* src/system.h (SET_BINARY): Define only if HAVE_DOS_FILE_CONTENTS.
|
|
|
|
(O_BINARY): Do not define.
|
|
|
|
|
|
|
|
* m4/dosfile.m4: Define HAVE_DOS_FILE_CONTENTS if it appears we're
|
|
|
|
using DOS.
|
|
|
|
|
|
|
|
* src/grep.c (undossify_input, fillbuf, dosbuf.c, prline, main):
|
|
|
|
Depend on HAVE_DOS_FILE_CONTENTS, not O_BINARY, when handling CRLF
|
|
|
|
matters.
|
|
|
|
(grepfile, main): Depend on SET_BINARY, not O_BINARY, when
|
|
|
|
handling binary files on hosts that care about text versus binary.
|
|
|
|
|
|
|
|
2000-04-17 Paul Eggert
|
|
|
|
|
|
|
|
* lib/getpagesize.h (getpagesize): Define to B_PAGE_SIZE if
|
|
|
|
__BEOS__ is defined. Based on a fix by Bruno Haible
|
|
|
|
<haible@clisp.cons.org>.
|
|
|
|
|
|
|
|
2000-04-17 Bruno Haible
|
|
|
|
|
|
|
|
* src/system.h [BeOS]: Ignore O_BINARY.
|
|
|
|
* src/getpagesize.h [BeOS]: Define getpagesize() as B_PAGE_SIZE.
|
|
|
|
|
|
|
|
2000-04-10 Paul Eggert
|
|
|
|
|
|
|
|
* doc/grep.1, doc/grep.texi, NEWS: -C now requires an operand.
|
|
|
|
* src/grep.c (short_options, long_options, main, usage): Likewise.
|
|
|
|
(context_length_arg): Renamed from ck_atoi. Now reports an error
|
|
|
|
and exits if the number is out of range for a context length.
|
|
|
|
(get_nondigit_option): New function, which checks for overflow
|
|
|
|
correctly, and which does not parse nonadjacent strings of digits
|
|
|
|
into a single number.
|
|
|
|
(main): Use get_nondigit_option instead of doing the code inline.
|
|
|
|
With -A, -B, and -C, optarg is now guaranteed to be nonzero.
|
|
|
|
|
|
|
|
2000-04-08 Paul Eggert
|
|
|
|
|
|
|
|
Now that we know that the input is always terminated by a
|
|
|
|
newline before the matching algorithms see it, clean up the
|
|
|
|
matching algorithms so that they no longer need to modify the
|
|
|
|
input by inserting a sentinel newline, and no longer worry
|
|
|
|
about running off the end of the buffer due to a missing sentinel.
|
|
|
|
|
|
|
|
* src/grep.c (nlscan, prpending, prtext, grepbuf): Do not
|
|
|
|
worry about running off the end of the input buffer, since
|
|
|
|
it's now guaranteed to end in the sentinel newline.
|
|
|
|
* src/search.c (EGexecute, Pexecute): Likewise.
|
|
|
|
|
|
|
|
* src/dfa.c (prtok, dfasyntax, dfaparse, copy, merge, state_index,
|
|
|
|
epsclosure, dfaexec, dfacomp):
|
|
|
|
Change many instances of "T *" to "T const *", to catch
|
|
|
|
any inadvertent programming errors made during this conversion.
|
|
|
|
* src/dfa.h (dfacomp, dfaexec, dfaparse): Likewise.
|
|
|
|
* src/grep.c (struct stats.parent, long_options, grepdir,
|
|
|
|
compile, execute, fillbuf, lastnl, lastout, nlscan, prline,
|
|
|
|
prpending, prtext, grepbuf, grep, grepfile, grepdir): Likewise.
|
|
|
|
* src/grep.h (struct matcher.compile, struct matcher.execute):
|
|
|
|
Likewise.
|
|
|
|
* src/kwset.c (struct kwset.trans, kwsalloc, kwsincr, treefails,
|
|
|
|
treedelta, hasevery, treenext, bmexec, cwexec, kwsexec): Likewise.
|
|
|
|
* src/kwset.h (kwsalloc, kwsincr, kwsexec): Likewise.
|
|
|
|
* src/search.c (kwsmusts, Gcompile, Ecompile, EGexecute, Pcompile,
|
|
|
|
Pexecute): Likewise.
|
|
|
|
|
|
|
|
* src/dfa.c (dfaexec):
|
|
|
|
Use size_t, not char *, to avoid worrisome casts to convert
|
|
|
|
char const * to char *.
|
|
|
|
* src/dfa.h (dfaexec): Likewise.
|
|
|
|
* src/grep.c (execute): Likewise.
|
|
|
|
* src/grep.h (execute): Likewise.
|
|
|
|
* src/kwset.c (bmexec, cwexec, kwsexec): Likewise.
|
|
|
|
* src/kwset.h (struct kwsmatch.offset, kwsalloc, kwsincr,
|
|
|
|
kwsexec): Likewise.
|
|
|
|
* src/search.c (EGexecute, Fexecute, Pexecute): Likewise.
|
|
|
|
|
|
|
|
* src/dfa.h (_PTR_T): Depend on defined __STDC__, not __STDC__.
|
|
|
|
(PARAMS): Depend on PROTOTYPES, not __STDC__.
|
|
|
|
|
|
|
|
* src/dfa.c (dfasyntax): Last arg is unsigned char, not int.
|
|
|
|
* src/dfa.h (dfasyntax): Likewise.
|
|
|
|
|
|
|
|
* src/dfa.h (struct dfa): Remove member newlines; no longer needed.
|
|
|
|
* src/dfa.c (build_state, dfaexec, dfafree): Do not worry
|
|
|
|
about special newline state.
|
|
|
|
|
|
|
|
* src/search.c (matchers): Move definition to end of file, so
|
|
|
|
that we don't need forward decls.
|
|
|
|
(lastexact): Remove.
|
|
|
|
(kwset_exact_matches): New var; subsumes old lastexact var.
|
|
|
|
All uses changed.
|
|
|
|
|
|
|
|
* src/dfa.c (index): Remove macro.
|
|
|
|
(REALLOC_IF_NECESSARY): Skip unnecessary test.
|
|
|
|
(tstbit, setbit, clrbit): Declare arg to be unsigned, to help compiler.
|
|
|
|
(copyset, zeroset, equal): Use C builtin primitives, to help compiler.
|
|
|
|
(dfaexec): Do not modify input string.
|
|
|
|
Remove newline parameter; no longer needed.
|
|
|
|
(comsubs): Use strchr, not index.
|
|
|
|
|
|
|
|
* src/grep.h (matchers): Use fixed name size, not pointer (as
|
|
|
|
there's no need for the extra flexibility). All uses changed.
|
|
|
|
|
|
|
|
* src/kwset.h (struct kwsmatch.offset): Renamed from beg, with
|
|
|
|
change of type to size_t. All uses changed.
|
|
|
|
|
|
|
|
* src/grep.c (reset): No longer need kludge for dfaexec. Simplify.
|
|
|
|
(reset, grepbuf): Adjust to new interface for 'execute'.
|
|
|
|
(install_matcher): List is now terminated by null compile,
|
|
|
|
not null name.
|
|
|
|
Do not invoke setrlimit if that wouldn't change the limit.
|
|
|
|
|
|
|
|
* src/dfa.c (xcalloc, xmalloc, xrealloc, prtok, tstbit, setbit,
|
|
|
|
clrbit, copyset, zeroset, notset, equal, charclass_index,
|
|
|
|
looking_at, lex, addtok, atom, nsubtoks, copytoks, closure,
|
|
|
|
branch, regexp, copy, insert, merge, delete, state_index,
|
|
|
|
build_state, build_state_zero, icatalloc, icpyalloc, istrstr,
|
|
|
|
ifree, freelist, enlist, comsubs, addlists, inboth):
|
|
|
|
Remove forward decls; no longer needed.
|
|
|
|
* src/grep.c (ck_atoi, usage, error, setmatcher,
|
|
|
|
install_matcher, prepend_args, prepend_default_options,
|
|
|
|
page_alloc, reset, fillbuf, grepbuf, prtext, prpending, prline,
|
|
|
|
print_offset_sep, nlscan, grep, grepfile): Likewise.
|
|
|
|
* src/kwset.c (enqueue, treefails, treedelta, hasevery,
|
|
|
|
treenext, bmexec, cwexec): Likewise.
|
|
|
|
* src/search.c (Gcompile, Ecompile, EGexecute, Fcompile, Fexecute,
|
|
|
|
Pcompile, Pexecute, kwsinit): Likewise.
|
|
|
|
|
|
|
|
* src/search.c (Pcompile): Do not assume newly allocated
|
|
|
|
storage is zeroed.
|
|
|
|
|
|
|
|
2000-04-06 Paul Eggert
|
|
|
|
|
|
|
|
* doc/grep.1, doc/grep.texi, NEWS: Improve the explanation of
|
|
|
|
locale-dependent behavior of range expressions. Mention
|
|
|
|
LC_COLLATE, since this affects range expressions.
|
|
|
|
|
|
|
|
2000-03-26 Paul Eggert
|
|
|
|
|
|
|
|
* Makefile.am (ACINCLUDE_INPUTS): Add decl.m4, inttypes_h.m4,
|
|
|
|
uintmax_t.m4, ulonglong.m4, xstrtoumax.m4.
|
|
|
|
* m4/Makefile.am (EXTRA_DIST): Likewise.
|
|
|
|
|
|
|
|
* src/Makefile.am (base_sources):
|
|
|
|
Add xstrtol.c, xstrtol.h, xstrtoumax.c.
|
|
|
|
(EXTRA_DIST): Add strtol.c.
|
|
|
|
|
|
|
|
* configure.in (jm_AC_TYPE_UINTMAX_T, jm_AC_PREREQ_XSTRTOUMAX,
|
|
|
|
HAVE_DECL_STRTOUL, HAVE_DECL_STRTOULL): Add.
|
|
|
|
(AC_REPLACE_FUNCS): Add strtoul.
|
|
|
|
|
|
|
|
* src/grep.c: Include xstrtol.h.
|
|
|
|
(ck_atio): Use xstrtoumax and do proper overflow checking.
|
|
|
|
(max_count, outleft): Now off_t, not int.
|
|
|
|
(main): Likewise. Use xstrtoumax to convert max_count from string.
|
|
|
|
|
|
|
|
* acconfig.h (HAVE_DECL_STRTOUL, HAVE_DECL_STRTOULL): New #undefs.
|
|
|
|
(HAVE_STPCPY, ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
|
|
|
|
HAVE_LC_MESSAGES): Remove.
|
|
|
|
|
|
|
|
* m4/decl.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4,
|
|
|
|
m4/xstrtoumax.m4, src/strtol.c, src/strtoul.c, src/strtoull.c,
|
|
|
|
src/strtoumax.c, src/xstrtol.c, src/xstrtol.h, src/xstrtoumax.c:
|
|
|
|
New files, taken unchanged from textutils, fileutils, sh-utils
|
|
|
|
and/or tar.
|
|
|
|
|
|
|
|
2000-03-23 Paul Eggert
|
|
|
|
|
|
|
|
* src/search.c (Pcompile): Add support for NUL bytes in
|
|
|
|
Perl regular expressions.
|
|
|
|
|
|
|
|
2000-03-23 Paul Eggert
|
|
|
|
|
|
|
|
* NEWS, doc/grep.1, doc/grep.texi: Change --pcre to --perl-regexp.
|
|
|
|
* src/grep.c (long_options, usage): Likewise.
|
|
|
|
|
|
|
|
* doc/grep.1, doc/grep.texi: Remove pgrep program.
|
|
|
|
* src/Makefile.am (bin_PROGRAMS): Likewise.
|
|
|
|
(pgrep_SOURCES): Remove.
|
|
|
|
|
|
|
|
* src/grep.c (main): Rename matcher from "pgrep" to "perl".
|
|
|
|
* src/search.c (matchers): Likewise.
|
|
|
|
|
|
|
|
* src/search.c: Do not include stdio.h; no longer needed.
|
|
|
|
(NILP): Remove.
|
|
|
|
(sub): No longer static.
|
|
|
|
(n_pcre): Remove.
|
|
|
|
(cre): No longer an array. Present only if HAVE_LIBPCRE.
|
|
|
|
(extra): New variable.
|
|
|
|
(Pcompile): Use fatal to report errors.
|
|
|
|
This also removes a possible core dump.
|
|
|
|
Add checks (marked FIXME) for restrictions in pcre.
|
|
|
|
Use pcre_maketables for proper localized behavior.
|
|
|
|
(Pcompile, Pexecute): Use GNU coding style.
|
|
|
|
The argument is a single pattern, not a list of patterns separated
|
|
|
|
by newlines; this is for consistency with grep and egrep.
|
|
|
|
Use pcre_study for speed.
|
|
|
|
(Pexecute): Abort if we lack pcre.
|
|
|
|
Abort if pcre_exec reports an impossible error.
|
|
|
|
Use code similar to the rest of search.c
|
|
|
|
to narrow down to the line we've found.
|
|
|
|
|
|
|
|
2000-03-21 Alain Magloire
|
|
|
|
|
|
|
|
* configure.in: added AC_CHECK_LIB(pcre, pcre_exec)
|
|
|
|
* ChangeLog: Typos corrected.
|
|
|
|
* src/search.c: new MACRO HAVE_LIBPCRE
|
|
|
|
|
|
|
|
2000-03-21 H.Merijn Brand
|
|
|
|
|
|
|
|
* src/Makefile.am(bin_PROGRAMS): added pgrep and new macro
|
|
|
|
pgrep_SOURCES.
|
|
|
|
* src/search.c: new functions Pcompile() and Pexecute()
|
|
|
|
to support PCRE. Update matcher[] array for pgrep.
|
|
|
|
* src/grep.c: new short and long option --pcre and -P.
|
|
|
|
usage() updated.
|
|
|
|
|
|
|
|
2000-03-21 Bastiaan Stougie
|
|
|
|
|
|
|
|
Improvement of the -m or --max-count option. Now works for NUM > 1 and
|
|
|
|
prints trailing context for the last matching line.
|
|
|
|
|
|
|
|
* src/grep.c
|
|
|
|
(after_last_match): Is a new off_t variable that replaces inputhwm
|
|
|
|
to retain the correct input offset even after a call to fillbuf. Note
|
|
|
|
that after_last_match has a different meaning than inputhwm:
|
|
|
|
it always points to the offset in the input of the first byte after
|
|
|
|
the last matching line, and is 0 if no matching line has been found
|
|
|
|
yet.
|
|
|
|
(grep): Print trailing context after the NUMth match when the -m NUM
|
|
|
|
option is used.
|
|
|
|
(grep): Added comment. Should have been commented already.
|
|
|
|
(grepbuf): Now updates outleft correctly. This fixes the bug that the
|
|
|
|
-m NUM option did not stop after NUM lines for NUM greater than 1.
|
|
|
|
(grepbuf, prtext): Now update after_last_match instead of inputhwm.
|
|
|
|
(fillbuf): No longer updates inputhwm.
|
|
|
|
(prpending): When outputting trailing context of the max_count-th
|
|
|
|
matching line, stop at the first matching line.
|
|
|
|
(grepfile): Seek to after_last_match or eof, depending on the values
|
|
|
|
of outleft and bufmapped.
|
|
|
|
(usage): added the -m or --max-count option to the help message.
|
|
|
|
* doc/grep.texi, doc/grep.1: Document the change of the -m option.
|
|
|
|
|
|
|
|
2000-03-17 Paul Eggert
|
|
|
|
|
|
|
|
Add new -m or --max-count option, based on a suggestion by
|
|
|
|
Bastiaan Stougie.
|
|
|
|
|
|
|
|
* doc/grep.texi, doc/grep.1: Document it.
|
|
|
|
* src/grep.c (short_options, long_options, main): Add it.
|
|
|
|
(inputhwm): New variable.
|
|
|
|
(fillbuf, prtext, grepbuf): Set it.
|
|
|
|
(bufmapped): Now a macro (defined to zero) if HAVE_MMAP is not defined.
|
|
|
|
(max_count, outleft): New variables.
|
|
|
|
(prtext, grepbuf, grep): Don't output more than outleft lines.
|
|
|
|
(grepfile): If grepping standard input, seek to the limit of what
|
|
|
|
we've read before exiting. This fixes a bug with mmapped input,
|
|
|
|
and is needed for proper -m support.
|
|
|
|
(main): Exit immediately if -m 0 is specified.
|
|
|
|
|
|
|
|
2000-03-08 Alain Magloire
|
|
|
|
|
|
|
|
* configure.in: version 2.4.2
|
|
|
|
|
|
|
|
2000-03-07 Paul Eggert
|
|
|
|
|
|
|
|
* Make intl subdirectory match fileutils, tar, etc.;
|
|
|
|
see intl/ChangeLog for details.
|
|
|
|
|
|
|
|
* src/getpagesize.h: Reformat to match latest fileutils.
|
|
|
|
|
|
|
|
* src/savedir.c (savedir): Work even if directory size is
|
|
|
|
negative; this can happen with some NFS screwups.
|
|
|
|
|
|
|
|
2000-03-03 Jim Meyering
|
|
|
|
|
|
|
|
* regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
|
|
|
|
|
|
|
|
2000-03-02 Alain Magloire
|
|
|
|
|
|
|
|
* 2.4.1 Release
|
|
|
|
|
|
|
|
2000-02-25 Paul Eggert
|
|
|
|
|
|
|
|
* configure.in (LIBOBJS): Work around automake 1.4 bug:
|
|
|
|
regex.c wasn't being passed through ansi2knr on pre-ANSI hosts.
|
|
|
|
(ac_use_included_regex): Fix typo in warning.
|
|
|
|
* src/Makefile.am (EXTRA_DIST): Remove regex.c, as the LIBOBJS
|
|
|
|
workaround means that automake now puts regex.c into DIST_COMMON.
|
|
|
|
|
|
|
|
2000-02-25 Alain Magloire
|
|
|
|
|
|
|
|
* po/*.po: update of the PO files.
|
|
|
|
|
|
|
|
2000-02-22 Eli Zaretskii
|
|
|
|
|
|
|
|
* doc/grep.1: Two small glitches(typos).
|
|
|
|
|
|
|
|
2000-02-18 Eli Zaretskii
|
|
|
|
|
|
|
|
* djgpp/config.site (prefix, INSTALL): Use /dev/env/DJDIR instead
|
|
|
|
of ${DJDIR}, so that the produced Makefile's work on any DJGPP
|
|
|
|
installation.
|
|
|
|
|
|
|
|
2000-01-30 Alain Magloire
|
|
|
|
|
|
|
|
* doc/grep.1: corrected typo.
|
|
|
|
Noted by Ruslan Ermilov.
|
|
|
|
|
|
|
|
2000-01-30 Alain Magloire
|
|
|
|
|
|
|
|
* vms/Makefile.am: added config_vms.h to EXTRA_DIST.
|
|
|
|
* vms/config_vms.h: New File, contains macros specific to VMS and
|
|
|
|
avoid namespace collision with operating system supplied C library.
|
|
|
|
* vms/make.com: Better compiler auto-detection; information for builds
|
|
|
|
on pre-OpenVMS 7.x systems; general overhaul.
|
|
|
|
* src/getpagesize.h: Reinstate support for different pagesizes on
|
|
|
|
VAX and Alpha. Work around problem with DEC C compiler.
|
|
|
|
* src/vms_fab.c: Cast to some assigments; fixed typo argcp vs. argp.
|
|
|
|
* src/vms_fab.h: Added new include files to avoid warnings about
|
|
|
|
undefined function prototypes.
|
|
|
|
Those patches were provided by Martin P.J. Zinser (zinser@decus.de).
|
|
|
|
|
|
|
|
2000-01-30 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (main): Update copyright notice.
|
|
|
|
|
|
|
|
2000-01-28 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c (usage): The example "%s -i 'hello.*world' could
|
|
|
|
lead to confusion when progname is 'fgrep.
|
|
|
|
Noted by Akim Demaille.
|
|
|
|
|
|
|
|
* configure.in: Reenable, jm_INCLUDE_REGEX() since we now
|
|
|
|
track GNU lib C.
|
|
|
|
* src/Makefile.am: EXTRA_DIST new macros with regex.c regex.h.
|
|
|
|
Requested By Ulrich Drepper.
|
|
|
|
|
|
|
|
2000-01-25 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (grep): If the final byte of an input file is not
|
|
|
|
a newline, grep now silently supplies one.
|
|
|
|
* doc/grep.texi, NEWS: Likewise.
|
|
|
|
|
|
|
|
2000-01-25 Paul Eggert
|
|
|
|
|
|
|
|
* NEWS, doc/grep.1, doc/grep.texi: Add -I option.
|
|
|
|
* src/grep.c (short_options, usage, main): Likewise.
|
|
|
|
|
|
|
|
* doc/grep.texi: Fix some incorrect references to ASCII.
|
|
|
|
|
|
|
|
2000-01-25 Paul Eggert
|
|
|
|
|
|
|
|
* doc/grep.1: Simplify synopsis; sort options; mention
|
|
|
|
environment variables; clean up some minor gaffes.
|
|
|
|
|
|
|
|
2000-01-25 Paul Eggert
|
|
|
|
|
|
|
|
* doc/grep.texi:
|
|
|
|
Fix some errors in description of [:print:] and the like.
|
|
|
|
|
|
|
|
2000-01-23 Paul Eggert
|
|
|
|
|
|
|
|
* src/dfa.c (FETCH, lex): Put brackets around if-body to avoid
|
|
|
|
GCC warning about ambiguous if-then-else.
|
|
|
|
|
|
|
|
2000-01-23 Paul Eggert
|
|
|
|
|
|
|
|
* src/regex.c (GET_UNSIGNED_NUMBER): Allow only ASCII digits.
|
|
|
|
* src/dfa.c (ISASCIIDIGIT): New macro.
|
|
|
|
(lex): Use it instead of ISDIGIT.
|
|
|
|
|
|
|
|
2000-01-23 Paul Eggert
|
|
|
|
|
|
|
|
The bug is that regular expression ranges like [a-z] compare raw
|
|
|
|
byte codes to the range boundaries, whereas POSIX says that they
|
|
|
|
should use the current collating sequence instead. For example,
|
|
|
|
in Solaris 7 with LC_ALL=en_US, the command
|
|
|
|
echo x | grep '[ -~]'
|
|
|
|
outputs 'x', but it shouldn't output anything since ' ' and '~'
|
|
|
|
sort before all letters in that locale.
|
|
|
|
|
|
|
|
* src/regex.c (compile_range): When matching a character
|
|
|
|
range, use the current collating sequence, as POSIX requires.
|
|
|
|
* src/dfa.c (lex): Likewise.
|
|
|
|
|
|
|
|
2000-01-20 Alain Magloire
|
|
|
|
|
|
|
|
* tests/Makefile.am (dist-hook): Added new rule to make sure
|
|
|
|
that the shell scripts have the right permissions.
|
|
|
|
* src/posix/Makefile.am (EXTRA_DIST): added regex.h in the
|
|
|
|
distribution.
|
|
|
|
* THANKS: updated.
|
|
|
|
|
|
|
|
2000-01-18 Alain Magloire
|
|
|
|
|
|
|
|
* Rectification the initial patch to add --binary-file option
|
|
|
|
was done by Ruslan Ermilov.
|
|
|
|
|
|
|
|
2000-01-17 Paul Eggert
|
|
|
|
|
|
|
|
Sync with sources of fileutils 4.0n, tar 1.13.17, glibc 2.1.3a1.
|
|
|
|
Convert to ANSI C prototypes (using ansi2knr for backwards
|
|
|
|
compatibility), as this makes it easier to sync.
|
|
|
|
|
|
|
|
* configure.in (AC_OBJEXT): Spell in a funny way, to work around
|
|
|
|
a bug in automake 1.4 with ansi2knr.
|
|
|
|
(LIBOBJS): Add assignment so that .o files in LIBOBJS are also built
|
|
|
|
via the ANSI2KNR-filtering rules.
|
|
|
|
(AC_OUTPUT): Add src/posix/Makefile.
|
|
|
|
* src/Makefile.am (AUTOMAKE_OPTIONS): Add ansi2knr.
|
|
|
|
(SUBDIRS): New macro.
|
|
|
|
* src/ansi2knr.1, src/ansi2knr.c, src/posix/Makefile.am: New files.
|
|
|
|
* src/dfa.c, src/dosbuf.c, src/grep.c, src/kwset.c, src/search.c,
|
|
|
|
src/vms_fab.c:
|
|
|
|
Use prototypes for function definitions.
|
|
|
|
* src/grep.c (main): Use int counter for default context,
|
|
|
|
fixing an ANSI portability bug uncovered by the above changes.
|
|
|
|
|
|
|
|
* config.guess, config.sub, install-sh, missing, src/alloca.c,
|
|
|
|
src/getpagesize.h, src/memchr.c, src/savedir.c, src/savedir.h,
|
|
|
|
src/stpcpy.c:
|
|
|
|
Upgrade to latest version from fileutils 4.0n.
|
|
|
|
|
|
|
|
* src/getopt.c, src/getopt.h, src/getopt1.c: Upgrade to latest
|
|
|
|
version from tar 1.13.17.
|
|
|
|
|
|
|
|
* src/obstack.c, src/obstack.h, src/regex.c, src/regex.h:
|
|
|
|
Upgrade to glibc 2.1.3 alpha 1, with K&R C portability fix.
|
|
|
|
* src/posix/regex.h: New file, from glibc 2.1.3 alpha 1.
|
|
|
|
|
|
|
|
2000-01-04 Paul Eggert
|
|
|
|
|
|
|
|
Initial patch by Ruslan Ermilov.
|
|
|
|
|
|
|
|
Add --binary-files option.
|
|
|
|
* NEWS, doc/grep.1, doc/grep.texi: Document it.
|
|
|
|
* src/grep.c (BINARY_FILES_OPTION): New constant.
|
|
|
|
(long_options, grep, usage, main): New --binary-files option.
|
|
|
|
(binary_files): New var.
|
|
|
|
* src/system.h (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, CHAR_MAX):
|
|
|
|
New macros.
|
|
|
|
(INT_MAX, UCHAR_MAX): Define in terms of TYPE_MAXIMUM.
|
|
|
|
|
|
|
|
2000-01-04 Paul Eggert
|
|
|
|
|
|
|
|
* savedir.c (savedir): Don't store past the end of an array if
|
|
|
|
name_size is zero and the directory is empty.
|
|
|
|
Reported by Dima Barsky <dima@pwd.hp.com>.
|
|
|
|
|
|
|
|
1999-12-03 Alain Magloire
|
|
|
|
|
|
|
|
* 2.4 Release.
|
|
|
|
|
2000-02-27 03:21:41 +03:00
|
|
|
1999-11-18 Paul Eggert
|
|
|
|
|
|
|
|
* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
|
|
|
|
problem with the QNX 4.25 shell, which doesn't propagate exit
|
|
|
|
status of failed commands inside shell assignments.
|
|
|
|
|
|
|
|
1999-11-13 Eli Zaretskii
|
|
|
|
|
|
|
|
* doc/grep.texi: Minor markup and spelling corrections. Use
|
|
|
|
@noindent where appropriate.
|
|
|
|
|
|
|
|
* PATCHES-{AM,AC}: rename to PATCHES.{AM,AC}
|
|
|
|
|
|
|
|
1999-11-12 Eli Zaretskii
|
|
|
|
|
|
|
|
doc/grep.texi: Minor fixes and typos corrected.
|
|
|
|
djgpp/README: Updated version.
|
|
|
|
|
|
|
|
1999-11-07 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (usage): Fix misspelling.
|
|
|
|
|
|
|
|
1999-11-07 Paul Eggert
|
|
|
|
|
|
|
|
Don't assume that the C library has re_set_syntax and friends.
|
|
|
|
* src/Makefile.am (base_sources): Add regex.c, regex.h.
|
|
|
|
(EXTRA_DIST): Remove regex.c, regex.h.
|
|
|
|
|
|
|
|
* src/grep.c (prtext): Use out_quiet, not not_text, to decide
|
|
|
|
whether to set pending to zero at the end.
|
|
|
|
(not_text): Remove static variable, undoing latest change.
|
|
|
|
(grep): Likewise.
|
|
|
|
|
|
|
|
* doc/grep.texi: Tighten up the text, and fix some minor
|
|
|
|
spelling and usage errors. Use @enumerate rather than @table
|
|
|
|
@samp, since it's better for Q&A format. Add cross
|
|
|
|
references.
|
|
|
|
|
|
|
|
1999-11-01 Alain Magloire
|
|
|
|
|
|
|
|
* src/search.c: Use the more portable [[:alnum:]]
|
|
|
|
to define a word instead of Ascii dependent [0-9A-Za-z]
|
|
|
|
* src/grep.c: make not_text global to not display text when
|
|
|
|
the context switches -A/-B/-C are use on binary files.
|
|
|
|
* make grep-2.3g available for testing.
|
|
|
|
* configure.in: drop support for --without-included-regex.
|
|
|
|
This was generating bogus bug reports, since many GNU/Linux
|
|
|
|
users have different version of glibc. And glibc maintainers
|
2003-01-27 02:15:08 +03:00
|
|
|
decided to drop k&r support.
|
|
|
|
|
2000-02-27 03:21:41 +03:00
|
|
|
1999-11-01 Arnold D. Robbins
|
|
|
|
|
|
|
|
* regex.c (init_syntax_once): move below definition of
|
|
|
|
ISALNUM etc., then use ISALNUM to init the table, so that
|
|
|
|
the word ops will work if i18n'ed.
|
|
|
|
(SYNTAX): And subscript with 0xFF for Latin-1 characters.
|
|
|
|
|
|
|
|
1999-10-26 Alain Magloire
|
|
|
|
|
|
|
|
* src/regex.c: Merge changes from GNU lib C.
|
|
|
|
* Updated the *.po files
|
|
|
|
|
|
|
|
1999-10-26 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (fillbuf): Don't report buffer size overflow if
|
|
|
|
newalloc == save and maxalloc == save. This can happen
|
|
|
|
e.g. when reading a large page-aligned file that contains
|
|
|
|
no newlines.
|
|
|
|
|
|
|
|
1999-10-21 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (usage): Give example. Clarify -F.
|
|
|
|
Explain exit status more clearly.
|
|
|
|
|
|
|
|
1999-10-12 Paul Eggert
|
|
|
|
|
|
|
|
* doc/grep.texi: Shorten the commentary about egrep and {.
|
|
|
|
"BSD grep" -> "traditional grep".
|
|
|
|
* doc/grep.1: Match recent changes to grep.texi.
|
|
|
|
|
|
|
|
1999-10-11 Paul Eggert
|
|
|
|
|
|
|
|
* NEWS, doc/grep.1, doc/grep.texi: New option --mmap.
|
|
|
|
* src/grep.c (mmap_option): New variable.
|
|
|
|
(long_options, reset, usage): Add --mmap.
|
|
|
|
Default is now read, not mmap.
|
|
|
|
|
|
|
|
* doc/grep.1: Document -Z or --null.
|
|
|
|
|
|
|
|
1999-10-11 Paul Eggert
|
|
|
|
|
|
|
|
* doc/grep.texi: Fix texinfo glitches. POSIX -> POSIX.2 where
|
|
|
|
appropriate.
|
|
|
|
|
|
|
|
1999-10-11 Paul Eggert
|
|
|
|
|
|
|
|
* acconfig.h (ssize_t): New #undef.
|
|
|
|
|
|
|
|
* configure.in (AC_CHECK_TYPE): Add ssize_t.
|
|
|
|
|
|
|
|
* src/grep.c (PREFERRED_SAVE_FACTOR): New macro.
|
|
|
|
(reset): If the buffer has already been allocated, set bufsalloc to
|
|
|
|
be bufalloc / PREFERRED_SAVE_FACTOR. This avoids problems when
|
|
|
|
bufsalloc == bufalloc (possible after reading a large binary file).
|
|
|
|
(reset): Use PREFERRED_SAVE_FACTOR instead of magic constant.
|
|
|
|
Do not set bufbeg; nobody uses it.
|
|
|
|
Always set buflim.
|
|
|
|
Check for lseek error.
|
|
|
|
Use SEEK_CUR, not a magic constant.
|
|
|
|
(fillbuf): Return an error indication, not a count.
|
|
|
|
All callers changed.
|
|
|
|
Do not assume ssize_t fits in int.
|
|
|
|
Use PREFERRED_SAVE_FACTOR instead of magic constant.
|
|
|
|
Clean up mmap code.
|
|
|
|
Do not attempt to mmap zero bytes.
|
|
|
|
Check for lseek error.
|
|
|
|
Use SEEK_SET, not a magic constant.
|
|
|
|
Work correctly if read is interrupted.
|
|
|
|
(grepfile): Work correctly if open or close is interrupted.
|
|
|
|
|
|
|
|
* src/system.h (SEEK_SET, SEEK_CUR): New macros.
|
|
|
|
|
|
|
|
1999-10-02 Alain Magloire
|
|
|
|
|
|
|
|
* src/regex.[ch]: upgrade from GNU lib C source tree.
|
|
|
|
|
|
|
|
* make beta 2.3f available.
|
|
|
|
|
|
|
|
1999-10-02 Paul Eggert
|
|
|
|
|
|
|
|
* NEWS: egrep is now equivalent to `grep -E'.
|
|
|
|
The lower bound of an interval is not optional.
|
|
|
|
You can specify a matcher multiple types without error.
|
|
|
|
-u and -U are now allowed on non-DOS hosts, and have no effect.
|
|
|
|
* doc/grep.texi: Likewise.
|
|
|
|
* doc/grep.1: Likewise.
|
|
|
|
Fix some troff bugs that prevented `groff' from rendering the page.
|
|
|
|
|
|
|
|
* src/egrepmat.c, src/fgrepmat.c, src/grepmat.c (default_matcher):
|
|
|
|
Remove.
|
|
|
|
(matcher): Add.
|
|
|
|
* src/grep.h (default_matcher): Remove.
|
|
|
|
(matcher): Now exported from ?grepmat.c, not grep.c.
|
|
|
|
|
|
|
|
* src/dfa.c (lex): If { would start an invalid interval specification,
|
|
|
|
treat it as a normal character.
|
|
|
|
Remove (broken) support for {,M} meaning {0,M}.
|
|
|
|
Diagnose bogus intervals like {1,0}.
|
|
|
|
(closure): maxrep is now -1 to indicate no limit, not zero;
|
|
|
|
zero is a valid value for maxrep, meaning an upper bound of zero.
|
|
|
|
|
|
|
|
* src/grep.c (short_options): New constant.
|
|
|
|
(long_options, main): -u and -U are now supported on Unix,
|
|
|
|
with no effect.
|
|
|
|
(matcher): Removed; now defined by ?grepmat.c.
|
|
|
|
(install_matcher): Renamed from setmatcher.
|
|
|
|
(setmatcher): New function.
|
|
|
|
(usage): Report new, more uniform option scheme.
|
|
|
|
(main): Do not initialize matcher; ?grepmat.c now does this.
|
|
|
|
Rely on setmatcher to catch matcher conflicts.
|
|
|
|
Default matcher is "grep".
|
|
|
|
|
|
|
|
* src/search.c (matchers):
|
|
|
|
Remove "posix-egrep" matcher; no longer needed.
|
|
|
|
(Ecompile): Likewise.
|
|
|
|
The egrep matcher now has POSIX behavior.
|
|
|
|
|
|
|
|
* tests/bre.tests: grep '\{' is no longer an error.
|
|
|
|
Fix test for interval too large, and enable it.
|
|
|
|
* tests/ere.tests: grep -E {1 is no longer an error
|
|
|
|
Likewise for a{1, a{1a, a{1a}, a{1,x}.
|
|
|
|
|
|
|
|
1999-09-22 Paul Eggert
|
|
|
|
|
|
|
|
* largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
|
|
|
|
2.95.1 bug with HP-UX 10.20.
|
|
|
|
|
|
|
|
1999-09-12 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (fillbuf): Fix typo: we sometimes reported
|
|
|
|
arithmetic overflow even when there wasn't any.
|
|
|
|
|
|
|
|
1999-09-12 Paul Eggert
|
|
|
|
|
|
|
|
* configure.in (AC_CHECK_FUNCS): Add memmove.
|
|
|
|
|
|
|
|
* src/system.h (S_ISREG): New macro.
|
|
|
|
(memmove): Define if ! defined HAVE_MEMMOVE && ! defined memmove,
|
|
|
|
not if !defined STDC_HEADERS. This is needed for SunOS 4.1.4,
|
|
|
|
which defines STDC_HEADERS but lacks memmove.
|
|
|
|
|
|
|
|
* src/grep.c (bufoffset): Needed even if !defined HAVE_MMAP.
|
|
|
|
(reset): Always fstat the file, since we always need its size if it is
|
|
|
|
regular.
|
|
|
|
Similarly, get the buffer offset of every regular file.
|
|
|
|
Set bufmapped to 0 if the file's initial offset is not a multiple
|
|
|
|
of the page size.
|
|
|
|
(fillbuf): Calculate an upper bound on how much memory we should
|
|
|
|
allocate only for regular files, since we don't know the sizes of
|
|
|
|
other files.
|
|
|
|
Don't bother to check whether the file offset is a multiple of the page
|
|
|
|
size, since we now do that just once in `reset'.
|
|
|
|
When an mmapped area would fall past the end of the file, trim it to
|
|
|
|
just before instead of giving up immediately and doing a `read';
|
|
|
|
that avoids a worst-case behavior that could read half an mmapped file.
|
|
|
|
Fix bug when computing offsets on hosts that don't have mmap.
|
|
|
|
|
|
|
|
1999-08-27 Paul Eggert
|
|
|
|
|
|
|
|
* src/system.h (memmove): New macro.
|
|
|
|
|
|
|
|
* src/grep.c (page_alloc): Reallocate the old buffer instead
|
|
|
|
of having both old and new buffers active simultaneously.
|
|
|
|
Remove valloc debugging variant, which no longer applies.
|
|
|
|
|
|
|
|
(fillbuf): Rejigger the buffer allocation mechanism. The old
|
|
|
|
mechanism could allocate more than 10*N bytes for an N-byte
|
|
|
|
file, which was excessive. Check for arithmetic overflow a
|
|
|
|
bit more carefully.
|
|
|
|
|
|
|
|
1999-08-25 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (grepdir):
|
|
|
|
Don't assume that st_ino and st_dev must be integers;
|
|
|
|
POSIX.1 allows them to be floating-point (!).
|
|
|
|
|
|
|
|
* src/vms_fab.h (arr_ptr): `:' -> `;' to fix typo.
|
|
|
|
|
|
|
|
1999-08-18 Alain Magloire
|
|
|
|
|
|
|
|
* 2.3e snapshot.
|
|
|
|
|
|
|
|
1999-08-18 Alain Magloire
|
|
|
|
|
|
|
|
* src/search.c: On a CRAY J90 system running UNICOS 8.0.
|
|
|
|
Compilation of ./src/search.c failed because the declaration of
|
|
|
|
the variable "regex":
|
|
|
|
static struct re_pattern_buffer regex;
|
|
|
|
conflicted with a previous declaration search.c #includes "system.h",
|
|
|
|
which #includes <stdlib.h>, which declares :
|
|
|
|
extern char *regex __((char *_Re, char *_Subject, ...));
|
|
|
|
The declaration in search.c is local to that one source file.
|
|
|
|
I just changed its name to something less likely to conflict.
|
|
|
|
(I called it "regexbuf", but you could pick any name you want.)
|
|
|
|
Excerpt email from Dean Kopesky.
|
|
|
|
|
|
|
|
1999-08-16 Paul Eggert
|
|
|
|
|
|
|
|
Upgrade large-file support to the version used in tar and
|
|
|
|
textutils.
|
|
|
|
|
|
|
|
* Makefile.am (ACLOCAL_AMFLAGS): Define to be empty.
|
|
|
|
(M4DIR, ACINCLUDE_INPUTS): New macros.
|
|
|
|
($(srcdir)/acinclude.m4): New rule.
|
|
|
|
|
|
|
|
* configure.in (AC_CANONICAL_HOST, AM_C_PROTOTYPES): Add.
|
|
|
|
(AC_SYS_LARGEFILE): Renamed from AC_LFS, for compatibility
|
|
|
|
with what should appear in the next autoconf release.
|
|
|
|
|
|
|
|
* m4/largefile.m4: Renamed from m4/lfs.m4.
|
|
|
|
|
|
|
|
* src/ansi2knr.1, src/ansi2knr.c, config.guess, config.sub:
|
|
|
|
New files. config.guess and config.sub ar needed by the new
|
|
|
|
AC_SYS_LARGEFILE. ansi2knr is needed by AM_C_PROTOTYPES,
|
|
|
|
which in turn is needed by the new AC_SYS_LARGEFILE.
|
|
|
|
|
|
|
|
1999-08-16 Alain Magloire
|
|
|
|
|
|
|
|
* 2.3d snapshot on ftp server.
|
|
|
|
|
|
|
|
1999-07-26 Paul Eggert
|
|
|
|
|
|
|
|
Several GNU tools have options to process arbitrary file names, even
|
|
|
|
file names that contain newline characters. These include `find
|
|
|
|
-print0', `perl -0', `sort -z', and `xargs -0'. It'd be handy if GNU
|
|
|
|
grep also processed such file names. Here's a proposed patch to do
|
|
|
|
this, relative to grep 2.3c. This patch introduces two options, one
|
|
|
|
for the data, and one for the file names. (Sometimes one wants
|
|
|
|
null-terminated file names in the output, and sometimes one wants to
|
|
|
|
process lists of null-terminated strings, and these are orthogonal
|
|
|
|
axes.)
|
|
|
|
|
|
|
|
* NEWS, doc/grep.texi: New -z or --null-data and -Z or --null options.
|
|
|
|
* src/grep.c (long_options, usage, main): Likewise.
|
|
|
|
|
|
|
|
* src/dfa.h (dfasyntax): New eol parameter.
|
|
|
|
* src/dfa.c (eolbyte): New var.
|
|
|
|
(dfasyntax): Set it from new parameter.
|
|
|
|
(lex, dfastat, build_state, dfaexec): Use it instead of '\n'.
|
|
|
|
|
|
|
|
* src/grep.h (eolbyte): New decl.
|
|
|
|
* src/grep.c (eolbyte): New var.
|
|
|
|
(nlscan, prpending, prtext, grepbuf, grep): Use it instead of '\n'.
|
|
|
|
(filename_mask): New var.
|
|
|
|
(prline, grepfile): Output NUL separator if filename_mask is zero.
|
|
|
|
(grep): Look for '\200' as the hallmark of a binary file, not '\0',
|
|
|
|
if -z or --null-data is specified, since it implies that '\0' is
|
|
|
|
expected as text.
|
|
|
|
|
|
|
|
* src/search.c (Gcompile, Ecompile): Pass eolbyte to dfasyntax.
|
|
|
|
(EGexecute, Fexecute): Use eolbyte instead of '\n'.
|
|
|
|
|
|
|
|
1999-06-15 Alain Magloire
|
|
|
|
|
2003-01-27 02:15:08 +03:00
|
|
|
* src/grep.c, doc/grep{1,texi} :
|
2000-02-27 03:21:41 +03:00
|
|
|
--revert-match should be --invert-match.
|
|
|
|
Correction proposed by Karl Berry.
|
|
|
|
|
|
|
|
1999-06-12 Alain Magloire
|
|
|
|
|
|
|
|
* doc/grep.{1,texi}: add description for --with-filename.
|
|
|
|
Noted missing by UEBAYASHI Masao.
|
|
|
|
|
|
|
|
1999-03-17 Paul Eggert
|
|
|
|
|
|
|
|
* NEWS: Add GREP_OPTIONS.
|
|
|
|
|
|
|
|
* doc/grep.texi: Document GREP_OPTIONS, and the other
|
|
|
|
environment variables. Fix doc for [:blank:], [:cntrl:], [:punct:].
|
|
|
|
|
|
|
|
* src/grep.c (prepend_args, prepend_default_options): New functions.
|
|
|
|
(main): Use them to implement GREP_OPTIONS.
|
|
|
|
* src/system.h (getenv): New decl.
|
|
|
|
|
|
|
|
1999-03-16 Volker Borchert
|
|
|
|
|
|
|
|
* configure.in: Use case case ... esac for checking Visual C++.
|
|
|
|
When ${CC} contains options it was not recognize.
|
|
|
|
|
|
|
|
1999-03-07 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (usage): Don't report -E, -F, and -G unless we're grep.
|
|
|
|
(main): Don't match options -E, -F, and -G unless we're grep.
|
|
|
|
Remove after-the-fact check for options -E, -F, and -G, since
|
|
|
|
they're no longer needed.
|
|
|
|
|
|
|
|
1999-03-05 Eli Zaretskii
|
|
|
|
|
|
|
|
* src/grep.c (main): Print the name of the default matcher instead
|
2003-01-27 02:15:08 +03:00
|
|
|
of just "grep".
|
2000-02-27 03:21:41 +03:00
|
|
|
|
|
|
|
1999-02-06 Alain Magloire
|
|
|
|
|
|
|
|
* tests/*.awk : Linux users are seeing "Broken Pipe" on make check.
|
|
|
|
The problem is that grep does not drain its stdin, thus the previous
|
|
|
|
process in the pipeline receives a SIGPIPE. Other shells are silent
|
|
|
|
about this. There is actually no failure, since the broken pipe is
|
|
|
|
expected. You can work around it by changing the pipeline, so that
|
|
|
|
the input is drained, like this:
|
|
|
|
status=`echo 'check' | { ${GREP} -E -e pattern >/dev/null 2>&1;
|
|
|
|
echo $?; cat >/dev/null; }`; if test $status -ne $errnu then ... fi
|
2003-01-27 02:15:08 +03:00
|
|
|
Excerpt email from Andreas Schwab.
|
2000-02-27 03:21:41 +03:00
|
|
|
|
|
|
|
1999-02-23 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c : Restrict the use of -E, -F, -G
|
|
|
|
to only grep driver, Posix behaviour. {f,e}grep
|
|
|
|
the matcher is already set. This change may brake
|
|
|
|
scripts, warn in NEWS.
|
|
|
|
|
|
|
|
* doc/grep.{1,texi} : -C takes arguments, upgrade manual.
|
|
|
|
|
|
|
|
* beta 2.3a
|
|
|
|
|
|
|
|
1999-02-23 Alain Magloire
|
|
|
|
|
|
|
|
* configure.in : Change the configure VC test from
|
|
|
|
'test x$ac_cv_prog_CC = xcl;' to 'test x"$ac_cv_prog_CC" = xcl;'
|
|
|
|
Email from Joshua R. Poulson.
|
|
|
|
|
|
|
|
1999-02-23 Paul Eggert
|
|
|
|
|
|
|
|
Fix porting bug reported by Amakawa Shuhei for SunOS 4.1.4-JL.
|
|
|
|
The btowc.c shipped with grep 2.3 is incorrect for Solaris
|
|
|
|
2.5.1 and earlier, as it assumes UTF8, which these OSes do not
|
|
|
|
support. Solaris 7 supports btowc, so there's no need to ship
|
|
|
|
a substitute for it. The only questionable case is Solaris
|
|
|
|
2.6, which lacks btowc but does support UTF8. However, 2.6
|
|
|
|
supports UTF8 but only as a demonstration (for an English
|
|
|
|
locale!); Japanese Solaris 2.6 users typically use EUC, or
|
|
|
|
sometimes shift-JIS, but they cannot use UTF8 since Japanese
|
|
|
|
UTF8 is not supported. Hence there's no point to having grep
|
|
|
|
substitute a btowc that uses UTF8, as it is either redundant,
|
|
|
|
or it will almost invariably have incorrect behavior.
|
|
|
|
|
|
|
|
* configure.in (AC_CHECK_HEADERS): Don't set USE_WCHAR.
|
|
|
|
(AC_CHECK_FUNCS): Add btowc, wctype.
|
|
|
|
(AC_REPLACE_FUNCS): Don't replace btowc; our replacement is
|
|
|
|
invariably doing the wrong thing anyway, at least on SunOS/Solaris.
|
|
|
|
Don't bother to check for wctype in -lw, as we don't support
|
|
|
|
wide characters on Solaris 2.5.1 or earlier anyway.
|
|
|
|
|
|
|
|
* bootstrap/Makefile.try (OBJS): Remove btowc.$(OBJEXT).
|
|
|
|
|
|
|
|
* src/btowc.c: Removed; no longer needed.
|
|
|
|
|
|
|
|
1999-02-19 Paul Eggert
|
|
|
|
|
|
|
|
* NEWS: Fix typo when talking about the old behavior of
|
|
|
|
silently skipping directories; it was grep 2.1, not grep 2.2.
|
|
|
|
|
|
|
|
1999-02-15 Alain Magloire
|
|
|
|
|
|
|
|
* bootstrap/Makefile.try : add DJGPP DEFS.
|
|
|
|
Done by Elie Zaretsckii.
|
|
|
|
|
1999-02-20 14:17:58 +03:00
|
|
|
1999-02-14 Alain Magloire
|
|
|
|
|
|
|
|
* m4/gettext.m4 : Guard [] with changequote.
|
|
|
|
From Elie Zaretskii.
|
|
|
|
|
|
|
|
* djgpp/config.bat : Makefile.in.in --> Makefile.in-in
|
|
|
|
From Elie Zaretskii.
|
|
|
|
|
|
|
|
* src/dosbuf: k&r function parameter.
|
|
|
|
|
|
|
|
* release of 2.3.
|
|
|
|
|
|
|
|
1999-02-10 Alain Magloire
|
|
|
|
|
|
|
|
* bootstrap/{Makefile{try,am},REAMDE} : skeleton
|
|
|
|
provided for system lacking the tools to autoconfigure.
|
|
|
|
|
|
|
|
* src/{e,f,}grepmat.c: added guard [HAVE_CONFIG_H]
|
|
|
|
|
|
|
|
1999-02-10 Alain Magloire
|
|
|
|
|
|
|
|
* PATCHES-AC, PATCHES-AM: updated.
|
|
|
|
|
|
|
|
* m4/regex.m4 : updated.
|
|
|
|
|
|
|
|
1999-02-05 Eli Zaretskii
|
|
|
|
|
|
|
|
* m4/gettext.m4 : Support DOS-style D:/foo/bar absolute file
|
|
|
|
names.
|
|
|
|
|
|
|
|
* aclocal.m4 (DJGPP) : Use $DJ_GPP instead, since changing the
|
|
|
|
latter prevents GCC from finding headers and libraries.
|
|
|
|
|
|
|
|
* djgpp/config.bat: Make building from another directory work
|
|
|
|
|
|
|
|
* djgpp/config.sed: Remove redundant command wich edited path
|
|
|
|
separator: now done by configure.
|
|
|
|
|
|
|
|
* src/grep.c [O_BINARY]: Add prototype for undossify_input.
|
|
|
|
|
|
|
|
* doc/grep.texi (Introduction): Typo fixed.
|
|
|
|
|
1999-02-09 15:38:36 +03:00
|
|
|
1999-02-03 Alain Magloire
|
|
|
|
|
|
|
|
* grep-2.2f beta release.
|
|
|
|
|
|
|
|
1999-02-02 Alain Magloire
|
|
|
|
|
|
|
|
* m4/{djgpp,envsep,glibc,regex,dosfile,isc-posix}.m4 :
|
|
|
|
New files to aid configuration and unload configure.in.
|
|
|
|
* m4/Makefile.am : updated.
|
|
|
|
* src/btowc.c : protect for wchar.h
|
|
|
|
|
|
|
|
1999-01-28 Alain Magloire
|
|
|
|
|
|
|
|
* intl/Makefile.in: Replace .o with .${ac_objext} where necessary.
|
|
|
|
Work around a limitation of Visual C++ on Cygwin32.
|
|
|
|
* acconfig.h configure.in: Define `alloca' as `_alloca' when CC=cl.
|
|
|
|
This little hack was suggested by Ian Roxborough <irox@cygnus.com>.
|
|
|
|
Patch forwarded by Ben Elliston.
|
|
|
|
|
|
|
|
1999-01-28 Alain Magloire
|
|
|
|
|
|
|
|
* PATCHES-AM: New file. A small patch for automake-1.4, use $(sep)
|
|
|
|
as the path separator base on @SEP@.
|
|
|
|
* PATCHES-AC configure.in : updated for autoconf-13.
|
2003-01-27 02:15:08 +03:00
|
|
|
|
1999-02-09 15:38:36 +03:00
|
|
|
1999-01-27 Volker Borchert
|
|
|
|
|
|
|
|
* grep.c: fgrep -NUM not working correctly.
|
|
|
|
add the argument number to digit_args_val.
|
|
|
|
|
|
|
|
1999-01-22 Paul Eggert
|
|
|
|
|
|
|
|
Prevent grep -r from recursing infinitely through directory loops via
|
|
|
|
symbolic links.
|
|
|
|
|
|
|
|
* grep.c (struct stats): New type.
|
|
|
|
(stats_base): New var.
|
|
|
|
(bufstat): Remove; subsumed by stats->stat.
|
|
|
|
(reset, fillbuf, grep, grepdir, grepfile): Pass struct stats * arg,
|
|
|
|
for directory loop checking; use this instead of the bufstat global.
|
|
|
|
All callers changed.
|
|
|
|
(grepfile): Stat the file before invoking grepdir.
|
|
|
|
(grepdir): Assume that the argument has already been statted.
|
|
|
|
No longer a need for a directory size argument, since it
|
|
|
|
can be gotten from the struct stats * argument.
|
|
|
|
Check for directory loops.
|
|
|
|
Create linked list of directories currently being visited,
|
|
|
|
to detect loops.
|
|
|
|
|
|
|
|
1998-12-29 Kaveh R. Ghazi
|
|
|
|
|
|
|
|
intl/localealias.c: When building grep-2.2e using cc on Irix4,
|
|
|
|
I needed the following patch to intl/localealias.c.
|
|
|
|
(Its the same patch used by fileutils-4.0.) The patch resolves
|
|
|
|
conflicts between char* and unsigned char* in the i18n code.
|
|
|
|
|
|
|
|
1998-12-10 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c : Typo in contex -->context
|
|
|
|
Noted by Vladimir Michl.
|
|
|
|
|
|
|
|
1998-12-01 Alain Magloire
|
|
|
|
|
|
|
|
* doc/Makefile.am djgpp/Makefile.am m4/Makefile.am vms/Makefile.am:
|
|
|
|
New files.
|
|
|
|
|
|
|
|
* m4/progtest.m4: proctect '[]' from m4.
|
|
|
|
Noted by Eli Z.
|
|
|
|
|
|
|
|
* PATCHES-AC: New file, add the patch for autoconf in the dist.
|
|
|
|
|
|
|
|
* acconfig.h: (HAVE_DOS_FILENAME)
|
|
|
|
|
|
|
|
* TODO: updated.
|
|
|
|
|
|
|
|
* src/search.c: remove obsolete 'gegrep,ggrep,gnugrep'
|
|
|
|
matchers. grep no longer depend on argv[0].
|
|
|
|
|
|
|
|
* grep-2.2e beta to test DJGPP port.
|
|
|
|
|
|
|
|
1998-11-28 Paul Eggert
|
|
|
|
|
|
|
|
Various portability enhancements:
|
|
|
|
- Don't assume that O_BINARY implies DOS. Use separate
|
|
|
|
macros D_OK (for DOS-like directory access) and
|
|
|
|
HAVE_DOS_FILE_NAMES (for DOS-like file names).
|
|
|
|
- Don't assume that off_t fits into long; it doesn't on Solaris 2.6.
|
|
|
|
- Have is_EISDIR set errno properly on hosts with screwed-up EISDIR.
|
|
|
|
- Treat ':' specially in DOS file names only if it's the end of a
|
|
|
|
drive specifier.
|
|
|
|
- Protect against errno < 0.
|
|
|
|
|
|
|
|
* src/grep.c (is_EISDIR): Move defn to system.h.
|
|
|
|
(print_offset_sep): New function.
|
|
|
|
(fillbuf): Remove redundant test of O_BINARY.
|
|
|
|
(totalcc, totalnl): Now of type off_t.
|
|
|
|
(prline): Use print_offset_sep to print file offsets.
|
|
|
|
(grepfile): Don't set e to EISDIR; that's is_EISDIR's responsibility
|
|
|
|
on machines that don't work properly with EISDIR.
|
|
|
|
(grepdir): Don't assume ':' means slash on all DOS filenames;
|
|
|
|
it means it only in the file prefix.
|
|
|
|
|
|
|
|
* src/system.h (strerror): Check for negative error numbers.
|
|
|
|
(is_EISDIR): Depend on D_OK, not O_BINARY.
|
|
|
|
(SET_BINARY): Depend on HAVE_SETMODE, not __DJGPP__.
|
|
|
|
(IS_SLASH, FILESYSTEM_PREFIX_LEN): Depend on HAVE_DOS_FILE_NAMES,
|
|
|
|
not O_BINARY.
|
|
|
|
(CHAR_BIT): New macro.
|
|
|
|
|
|
|
|
* src/dosbuf.c (struct dos_map):
|
|
|
|
pos and add members are now of type off_t.
|
|
|
|
(dos_stripped_crs): Now of type off_t.
|
|
|
|
(dossified_pos): Now accepts arg and returns value of type off_t.
|
|
|
|
|
|
|
|
* configure.in (AC_CHECK_FUNCS): Add setmode.
|
|
|
|
(HAVE_DOS_FILENAMES): New macro
|
|
|
|
|
|
|
|
1998-11-27 Eli Zaretskii
|
|
|
|
|
|
|
|
* djgpp/config.sed: New file, a Sed script to edit configure
|
|
|
|
script before running it on DOS/Windows.
|
|
|
|
* djgpp/config.bat: Updated to handle po2tbl.sed.in and
|
|
|
|
po/Makefile.in.in on DOS filesystems, and to run config.sed.
|
|
|
|
|
|
|
|
1998-11-24 Jim Meyering
|
|
|
|
|
|
|
|
* src/grep.c : Typo s/infalid/invalid/
|
|
|
|
Also noted by Stanislav Brabec.
|
|
|
|
|
|
|
|
1998-11-24 Eli Zaretskii
|
|
|
|
|
|
|
|
* doc/grep.texi: I found and corrected several typos.
|
|
|
|
I believe the GNU standards require the section that describes the
|
|
|
|
options to the programs to be called ``Invoking'' or ``Invoking
|
|
|
|
<program-name>''. This is so users and programs can easily find
|
|
|
|
that node in any Info file. So I changed the name of the
|
|
|
|
`Options' chapter to `Invoking', and corrected the
|
|
|
|
cross-references accordingly.
|
|
|
|
I added some markup to things like file names and options.
|
|
|
|
I added some additional index entries where that seemed useful.
|
|
|
|
I also corrected some index entries, such as "@cindex [:alnum:]",
|
|
|
|
which used a colon in them (the colons confuse Info readers).
|
|
|
|
|
|
|
|
1998-11-24 Alain Magloire
|
|
|
|
|
|
|
|
* grep/doc/grep.texi : -h is not use for help.
|
|
|
|
Nit spotted by Jim Meyering.
|
|
|
|
|
|
|
|
1998-11-23 Alain Magloire
|
|
|
|
|
|
|
|
* doc: New directory, grep.1, {e,f}grep.man move here
|
|
|
|
* doc/grep.texi: New info manual
|
|
|
|
* doc/version.texi: New
|
|
|
|
* doc/Makefile.am: New
|
|
|
|
* tests/{ere,bre}.*: New files. The spencer2 test is split
|
|
|
|
in two ere/bre.
|
|
|
|
* config.hin: New, config.h.in rename to config.hin for OS
|
|
|
|
with limited file system aka DOS.
|
|
|
|
|
|
|
|
* grep-2.2d release for beta.
|
|
|
|
|
|
|
|
1998-11-18 Alain Magloire
|
|
|
|
|
|
|
|
* src/regex.[ch] : Updated from GLibc, previous patches were
|
|
|
|
integrate by Ulrich Drepper and some added ones.
|
|
|
|
|
|
|
|
1998-11-16 Paul Eggert
|
|
|
|
|
|
|
|
* grep.h (__attribute__): New macro, if not GCC.
|
|
|
|
(fatal): Add __attribute__((noreturn)).
|
|
|
|
* grep.c (usage): Add __attribute__((noreturn)).
|
|
|
|
|
|
|
|
1998-11-16 Paul Eggert
|
|
|
|
|
|
|
|
Remove memory leak with valloced buffers, by invoking malloc instead.
|
|
|
|
|
|
|
|
* configure.in (AC_CHECK_FUNCS), src/system.h (valloc): Remove.
|
|
|
|
* src/grep.c (page_alloc): New function.
|
|
|
|
(ubuffer, pagesize): New vars.
|
|
|
|
(ALIGN_TO): New macro.
|
|
|
|
(reset): Initialize new vars. Check for overflow in buffer size calc.
|
|
|
|
Use page_alloc instead of valloc.
|
|
|
|
(fillbuf): Likewise. Use memcpy to copy saved area.
|
|
|
|
|
|
|
|
1998-11-15 Paul Eggert
|
|
|
|
|
|
|
|
* dfa.c (dfacomp), search.c (EGexecute): Don't assume char is unsigned.
|
|
|
|
|
|
|
|
1998-11-14 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (grepdir): Fix bug: memory freed twice.
|
|
|
|
|
|
|
|
* src/search.c (Gcompile, Ecompile): Don't invoke dfainit,
|
|
|
|
since dfacomp does it for us, and if we also do it then we
|
|
|
|
leak memory.
|
|
|
|
|
|
|
|
1998-11-13 Eli Zaretskii
|
|
|
|
|
|
|
|
* djgpp/config.bat: Rewrite to run the configure script via Bash.
|
|
|
|
* djgpp/config.site, djgpp/getconf: New files.
|
|
|
|
* djgpp/config.h, djgpp/*.mak, djgpp/po2tbl.sed: Remove.
|
|
|
|
* djgpp/README: Update instructions.
|
|
|
|
|
|
|
|
* Makefile.am (EXTRA_DIST): Update the list of DJGPP files.
|
|
|
|
|
|
|
|
* src/system.h (IS_SLASH): New macro.
|
|
|
|
(is_EISDIR): Define it here for DOS and Windows.
|
|
|
|
|
|
|
|
* src/grep.c (main) [O_BINARY]: Set stdout to binary mode, so the
|
|
|
|
EOL formats of the input and output files match, unless stdout is
|
|
|
|
the console device.
|
|
|
|
(is_EISDIR): Don't define if already defined. Accept a second
|
|
|
|
argument, the file name; all callers changed.
|
|
|
|
(grepdir): Don't free `file', inside the loop. Use IS_SLASH to
|
|
|
|
check whether `dir' needs a slash.
|
|
|
|
(grepfile): If file is a directory, set e to EISDIR.
|
|
|
|
|
|
|
|
1998-11-10 Alain Magloire
|
|
|
|
|
|
|
|
* src/vms_fab.{c,h}: New file for VMS wildcard expansion
|
|
|
|
Written by Phillip C. Brisco.
|
|
|
|
|
|
|
|
* vms/make.com : add line to compile vms_fab.c and
|
|
|
|
{e,f,}grepmat.c with link for each grep/fgrep/egrep.
|
|
|
|
Base on patch send by Phillib C. Brisco.
|
|
|
|
|
|
|
|
1998-11-09 Alain Magloire
|
|
|
|
|
|
|
|
* grep-2.2c on alpha for testing.
|
|
|
|
|
|
|
|
1998-11-09 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.1: Fix `Last Change' of output by generating the date
|
|
|
|
from the RCS Id.
|
|
|
|
|
|
|
|
* src/grep.c (is_EISDIR): New macro.
|
|
|
|
(grep): If -s, suppress errors from trying to read directories.
|
|
|
|
(grepfile): Use is_EISDIR to simplify code.
|
|
|
|
(grepdir): If -s, suppress errors from trying to read directories.
|
|
|
|
|
|
|
|
* src/grep.1: Fix -q -r -s problems; describe BSD grep better.
|
|
|
|
|
|
|
|
* src/grep.c (main): Update copyright.
|
|
|
|
|
|
|
|
Specify default matcher with default_matcher extern var, not
|
|
|
|
DEFAULT_MATCHER macro. This is more straightforward and means
|
|
|
|
we need to compile grep.c just once.
|
|
|
|
|
|
|
|
* src/egrepmat.c, src/fgrepmat.c, src/grepmat.c: New files.
|
|
|
|
|
|
|
|
* src/Makefile.am (base_sources): New macro.
|
|
|
|
(egrep_SOURCES, fgrep_SOURCES, grep_SOURCES): Now consist of
|
|
|
|
$(base_sources) plus the single tailoring file.
|
|
|
|
(grep_LDADD, egrep_LDADD, fgrep_LDADD): Remove.
|
|
|
|
(EXTRA_DIST): Remove grep.c, regex.c.
|
|
|
|
(fgrep.o, egrep.o): Remove.
|
|
|
|
|
|
|
|
* src/grep.h (matcher): Now char const *.
|
|
|
|
(default_matcher): New decl.
|
|
|
|
|
|
|
|
* src/grep.c (matcher): Now char const *.
|
|
|
|
(setmatcher): Now accepts char const *.
|
|
|
|
(main): Default the matcher from default_matcher (linked externally)
|
|
|
|
rather than DEFAULT_MATCHER (a macro).
|
|
|
|
|
|
|
|
1998-11-08 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.1: `prep.ai.mit.edu' should be replaced with `gnu.org'.
|
|
|
|
Nit from Paul Eggert.
|
|
|
|
|
|
|
|
1998-11-06 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c: The Matcher is not set to argv[0] but
|
|
|
|
explicitly by a #define MATCHER at compile time default is "grep".
|
|
|
|
|
|
|
|
* aclocal/: NEW dir. provides our own *.m4
|
|
|
|
|
|
|
|
* configure.in: Move Paul's Large Files to AC_LFS.(aclocal/lfs.m4)
|
|
|
|
Taken from Jim Meyering fileutils.
|
|
|
|
|
|
|
|
1998-11-05 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.1: update the man pages according to the
|
|
|
|
changes make by Miles.
|
|
|
|
|
|
|
|
* po/*.po: updated.
|
|
|
|
|
|
|
|
* first beta release for 2.3 (2.2a).
|
|
|
|
|
|
|
|
1998-11-04 Miles Bader
|
|
|
|
|
|
|
|
* src/grep.c (main): Rationalize interaction of -C/-NUM/-A/-B
|
|
|
|
options, and allow -C to have an optional argument. -NUM can
|
|
|
|
now be mixed with -C, and -A, -B always take precedence over
|
|
|
|
-C/-NUM, regardless of order.
|
|
|
|
(long_options): Let -C/--context take an optional argument.
|
|
|
|
|
|
|
|
1998-11-03 Alain Magloire
|
|
|
|
|
|
|
|
* src/dfa.c: HP-UX define clrbit/setbit as macros in <sys/param.h>
|
|
|
|
#undef if defined.
|
|
|
|
Fixed by Andreas Ley and Philippe Defert.
|
|
|
|
|
|
|
|
* src/grep.1 : mention that -s follows POSIX.2 behavior.
|
|
|
|
Noted by Paul Eggert and others.
|
|
|
|
|
|
|
|
* tests/khadafy.sh: a typo in failure(s).
|
|
|
|
Spotted By Sotiris Vassilopoulos.
|
|
|
|
|
|
|
|
1998-11-01 Paul Eggert
|
|
|
|
|
|
|
|
* src/system.h (IN_CTYPE_DOMAIN): New macro.
|
|
|
|
(ISALPHA, ISUPPER, ISLOWER, ISDIGIT, ISXDIGIT, ISSPACE,
|
|
|
|
ISPUNCT, ISALNUM, ISPRINT, ISGRAPH, ISCNTRL): Use
|
|
|
|
IN_CTYPE_DOMAIN instead of isascii.
|
|
|
|
|
|
|
|
1998-08-18 Paul Eggert
|
|
|
|
|
|
|
|
Add support for new -r or --recursive (or -d recurse or
|
|
|
|
--directories=recurse) option.
|
|
|
|
|
|
|
|
* src/Makefile.am (grep_SOURCES): Add savedir.c, savedir.h, stpcpy.c.
|
|
|
|
|
|
|
|
* src/grep.1: Describe new options.
|
|
|
|
|
|
|
|
* src/grep.c: Include "savedir.h".
|
|
|
|
(long_options): Add -r or --recursive.
|
|
|
|
(RECURSE_DIRECTORIES): New enum value.
|
|
|
|
(IS_DIRECTORY_ERRNO): Remove.
|
|
|
|
(reset, grep): Add file name arg.
|
|
|
|
(grepdir, grepfile): New functions.
|
|
|
|
(initial_bufoffset): New var.
|
|
|
|
(reset): Initialize it.
|
|
|
|
(fillbuf): Use it.
|
|
|
|
(count_matches, list_files, no_filenames, suppress_errors): New static
|
|
|
|
vars; formerly were local to `main'.
|
|
|
|
(grep): Recurse through directories if the user asks for this.
|
|
|
|
(usage, main): Add new options.
|
|
|
|
(main): Change some local vars to be static, as described above.
|
|
|
|
Move most of the guts into grepfile function.
|
|
|
|
so that it can be recursed through.
|
|
|
|
|
|
|
|
* configure.in (AC_HEADER_DIRENT, AC_FUNC_CLOSEDIR_VOID): Add.
|
|
|
|
(AC_REPLACE_FUNCS): Add stpcpy.
|
|
|
|
|
|
|
|
* src/savedir.c, src/savedir.h, src/stpcpy.c: New files;
|
|
|
|
taken from fileutils 3.16u.
|
|
|
|
|
|
|
|
1998-08-11 Paul Eggert
|
|
|
|
|
|
|
|
* src/system.h (initialize_main): New macro.
|
|
|
|
* src/grep.c (main): Invoke initialize_main first thing.
|
|
|
|
|
|
|
|
1998-04-29 Paul Eggert
|
|
|
|
|
|
|
|
* NEWS, src/grep.1: Describe new -a and -d options.
|
|
|
|
|
|
|
|
* src/grep.c (long_options, usage, main):
|
|
|
|
New options -d or --directories and -a or --text.
|
|
|
|
(directories, always_text): New variables.
|
|
|
|
(IS_DIRECTORY_ERRNO): New macro.
|
|
|
|
(reset): Now returns value specifying whether to skip this file.
|
|
|
|
Stat the file if either mmap or directory-skipping is possible.
|
|
|
|
Skip the file if it's a directory and we're skipping directories.
|
|
|
|
(grep): Skip the file if `reset' tells us to.
|
|
|
|
(main): If open fails because the file is a directory, and if we're
|
|
|
|
skipping directories, don't report an error.
|
|
|
|
Remove special case for DOS and Windows.
|
|
|
|
|
|
|
|
* src/dosbuf.c (guess_type): Use the same method for guessing whether a
|
|
|
|
file is binary as grep.c's grep does.
|
|
|
|
There's no longer any need to declare `bp' to be unsigned.
|
|
|
|
|
|
|
|
1998-04-26 Alain Magloire
|
|
|
|
|
|
|
|
* grep-2.2 release.
|
|
|
|
|
|
|
|
* src/dfa.c: Wrong revision was pulled out
|
|
|
|
for beta 2.1.1d.
|
|
|
|
* src/search.c: Wrong revision was pulled out
|
|
|
|
for beta 2.1.1d.
|
|
|
|
|
|
|
|
* src/grep.c: ck_atoi () added instead of atoi ().
|
|
|
|
Suggestion from Jim Meyering.
|
|
|
|
ck_atoi () pulled from diffutils-2.7, maintained by Paul Eggert.
|
|
|
|
|
|
|
|
* AUTHORS: Rephrase of some sentences.
|
|
|
|
* README: Rewording.
|
|
|
|
Noted and patched by Joel N. Weber II.
|
|
|
|
|
|
|
|
1998-04-17 Kaveh R. Ghazi
|
|
|
|
|
|
|
|
* src/dfa.h: Don't define `const', trust autoconf to handle it.
|
|
|
|
|
|
|
|
1998-04-16 Alain Magloire
|
|
|
|
|
|
|
|
* tests/{status,empty}.sh: wrong return status.
|
|
|
|
|
|
|
|
* src/grep.c: Remove the REGEX part in usage (), it was
|
|
|
|
consider overkill by most.
|
|
|
|
|
|
|
|
1998-04-14 Eli Zaretskii
|
|
|
|
|
|
|
|
* djgpp/config.bat: Support file names with multiple dots on all
|
|
|
|
platforms.
|
|
|
|
|
|
|
|
* djgpp/README: Add instructions about file names illegal on
|
|
|
|
MS-DOS.
|
|
|
|
|
|
|
|
1998-04-13 Alain Magloire
|
|
|
|
|
|
|
|
* src/dfa.c: by "popular" demand reverse
|
|
|
|
back to '_' not word-constituent.
|
|
|
|
|
|
|
|
* grep-2.1.1c available for testing.
|
|
|
|
|
|
|
|
1998-04-13 Karl Heuer
|
|
|
|
|
|
|
|
* src/grep.c: (a) The directory check is done too early:
|
|
|
|
logically, if the argument is "-", then it refers to standard
|
|
|
|
input, regardless of whether there's something in the file
|
|
|
|
system answering to "-".
|
|
|
|
(b) The sh command "grep -l root /etc/passwd /etc/group 0<&-"
|
|
|
|
prints "(standard input)" instead of "/etc/passwd", because it
|
|
|
|
mistakenly believes that a named file will never be opened on fd
|
|
|
|
0. The string "(standard input)" should be based on the file
|
|
|
|
having been originally specified as "-", rather than making
|
|
|
|
assumptions about the fd.
|
|
|
|
(c) the code that calls close(fd) is being done outside of the
|
|
|
|
test for a bad fd. Thus, if the open failed, this code will
|
|
|
|
attempt to close(-1). It should be done inside the "fd != -1"
|
|
|
|
branch.
|
|
|
|
This patch addresses all three of these problems.
|
|
|
|
|
|
|
|
1998-04-13 Alain Magloire
|
|
|
|
|
|
|
|
* configure.in: remove the deprecated AC_ISC_POSIX macro.
|
|
|
|
Spotted by Karl Heuer.
|
|
|
|
|
|
|
|
1998-04-03 Eli Zaretskii
|
|
|
|
|
|
|
|
* djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated from the
|
|
|
|
relevant Makefile.in files.
|
|
|
|
|
|
|
|
* djgpp/config.bat: Create files in intl directory like the
|
|
|
|
configure script does.
|
|
|
|
|
|
|
|
1998-03-28 Eli Zaretskii
|
|
|
|
|
|
|
|
* djgpp/main.mak, djgpp/src.mak, djgpp/tests.mak: Updated to track
|
|
|
|
changes in respective Makefile.in files.
|
|
|
|
|
|
|
|
* src/dosbuf.c (guess_type): Avoid running off the end of the
|
|
|
|
buffer. Spotted by Paul Eggert.
|
|
|
|
|
|
|
|
1998-03-27 Alain Magloire
|
|
|
|
|
|
|
|
* grep-2.1.1b.tar.gz available.
|
|
|
|
|
|
|
|
* src/regex.c: CLASS_CHAR_MAX set to 256 instead of 6
|
|
|
|
when WCTYPE and WCHAR are not defined. When class names
|
|
|
|
where bigger then 6, it will not detect an error.
|
|
|
|
example '[[:alphabet:]]'.
|
|
|
|
|
|
|
|
* Updated the copyright of the files with emacs.
|
|
|
|
With emacs Jim :).
|
|
|
|
|
|
|
|
1998-03-26 Jim Meyering
|
|
|
|
|
|
|
|
* src/dfa.c (IS_WORD_CONSTITUENT): Define.
|
|
|
|
(lex): Use IS_WORD_CONSTITUENT, not ISALNUM.
|
|
|
|
Don't special-case '_'.
|
|
|
|
(dfastate): Use IS_WORD_CONSTITUENT, not ISALNUM.
|
|
|
|
(dfaexec): Likewise.
|
|
|
|
|
|
|
|
1998-03-25 Alain Magloire
|
|
|
|
|
|
|
|
* tests/warning.sh: typos and replace the echos with
|
|
|
|
a simple cat.
|
|
|
|
Noted By Jim Meyering.
|
|
|
|
|
|
|
|
* src/regex.c: #undef ISASCII and ISPRINT before defining
|
|
|
|
them(On Solaris it was define).
|
|
|
|
Pattern 'a[[:]:]]b' is an invalid char class and the error
|
|
|
|
from regex was 1(REG_NOMATCH) instead of 2 (REG_ECTYPE).
|
|
|
|
Fix with help from Ulrich Drepper.
|
|
|
|
|
|
|
|
* src/grep.c (usage): Ulrich wrote: "A single printf should
|
|
|
|
not have more than 900 bytes. For translation reasons the
|
|
|
|
text shouldn't be split in too many pieces since this is
|
|
|
|
tiresome and also does not help to generate a consistent picture."
|
|
|
|
Noted by Ulrich Drepper.
|
|
|
|
* src/grep.c (usage): Dig out and old patch from
|
|
|
|
Franc,ois to explain the regex in usage().
|
|
|
|
Ideas from Franc,ois Pinard.
|
|
|
|
|
|
|
|
1998-03-23 Alain Magloire
|
|
|
|
|
|
|
|
* testing: grep-2.1.1a for testing.
|
|
|
|
|
|
|
|
* configure.in: Solaris needs '-lw' if we use wchar/wctype
|
|
|
|
functions.
|
|
|
|
* src/btowc.c: New file from GNU libc. Solaris 2.5 don't
|
|
|
|
have it define.
|
|
|
|
* configure.in : check for btowc ().
|
|
|
|
|
|
|
|
* regex.c: Include <wchar.h> before <wctype.h>, to work around
|
|
|
|
a Solaris 2.5 bug.
|
|
|
|
Patch provided by Paul Eggert.
|
|
|
|
|
|
|
|
* tests/status.sh: new file to check return status code.
|
|
|
|
* tests/empty.sh: new file to check for empty pattern.
|
|
|
|
* tests/warning.sh: new file to tell where to report errors.
|
|
|
|
|
|
|
|
* configure.in: If available, prefer support for large files
|
|
|
|
unless the user specified one of the CPPFLAGS, LDFLAGS, or LIBS
|
|
|
|
variables.
|
|
|
|
Done by Paul Eggert.
|
|
|
|
|
|
|
|
* src/grep.c (usage): change prep.ai.mit.edu for gnu.org.
|
|
|
|
|
|
|
|
1998-03-18 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c (usage): Formating the --help message a bit off.
|
|
|
|
Noted by William Bader.
|
|
|
|
|
|
|
|
* src/grep.c (main): When checking conflicting matcher for option -E the
|
|
|
|
matcher was to "egrep" instead of "posix-egrep".
|
|
|
|
Reported by kwzh@gnu.org.
|
|
|
|
|
|
|
|
* src/grep.c: Typos and rewording the --help message.
|
|
|
|
Reported by Karl Heuer.
|
|
|
|
|
|
|
|
* src/grep.1: The man page wording :
|
|
|
|
A regular expression matching a single character may be
|
|
|
|
followed by one of several repetition operators:
|
|
|
|
is unclear since 'x(yz)*z' is a valid regex.
|
|
|
|
Remove the "matching a single character".
|
|
|
|
Suggested by Harald Hanche-Olsen.
|
|
|
|
|
|
|
|
* src/grep.c (main): `-f /dev/null' now specifies no patterns
|
|
|
|
and therfore matches nothing.
|
|
|
|
Reported by Jorge Stolfi.
|
|
|
|
Patched by Paul Eggert.
|
|
|
|
|
|
|
|
1998-03-10 Alain Magloire
|
|
|
|
|
|
|
|
* Ice storm 98(el nino). Lost grep repository disk,
|
|
|
|
and my $HOME directory, etc ..
|
|
|
|
Trying to get the emails/patch from dejanews.com
|
|
|
|
and start from grep-2.1.
|
|
|
|
sigh ....
|
|
|
|
|
|
|
|
1997-11-01 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c: For the long options, the problems are:
|
|
|
|
--file appears in the option table as 'no_argument'
|
|
|
|
instead of 'required_argument'.
|
|
|
|
--files-with-matches is missing from the option table.
|
|
|
|
The help lists '--fixed-strings' as the long option for -F,
|
|
|
|
the table has '--fixed-regexp'.
|
|
|
|
--regexp appears in the option table as 'no_argument'
|
|
|
|
instead of 'required_argument'.
|
|
|
|
--with-filename is missing from the option table.
|
|
|
|
Reported by Grant McDorman and Krishna Sethuraman.
|
|
|
|
|
|
|
|
1997-10-19 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c: the option "with-filename was not in the arg table.
|
|
|
|
Corrected by Jim Hand.
|
|
|
|
|
|
|
|
* GNU gettext library from gettext-0.10.32.
|
|
|
|
|
|
|
|
* src/grep.c: reverse back to greping directories,
|
|
|
|
One could skip the error message by defining
|
|
|
|
SKIP_DIR_ERROR. There is no clear way of doing
|
|
|
|
things, I hope to setle this on the next majore release
|
|
|
|
Thanks Paul Eggert, Eli Zaretskii and gnits for the
|
|
|
|
exchange.
|
|
|
|
|
|
|
|
* tests/status.sh: add this check to make sure
|
|
|
|
That the return status code is ok.
|
|
|
|
|
|
|
|
1997-10-10 Andreas Schwab
|
|
|
|
|
|
|
|
* src/grep.1: Fix formatting.
|
|
|
|
|
|
|
|
* configure.in: Check for wctype.h, wchar.h, libintl.h and
|
|
|
|
isascii, which are needed for regex.c.
|
|
|
|
|
|
|
|
1997-10-01 Paul Eggert
|
|
|
|
|
|
|
|
* src/grep.c (fillbuf): Don't warn about mmap failures.
|
|
|
|
|
|
|
|
1997-09-7 Alain Magloire
|
|
|
|
|
|
|
|
* src/grep.c: added code for -H --with-filename.
|
|
|
|
|
|
|
|
* djgpp/*: patch wrongly apply
|
|
|
|
duplication of text in djgpp/{README,config.h}.
|
|
|
|
Filter djgpp/config.bat with unix2dos.
|
|
|
|
|
|
|
|
* djgpp/make.mak: beautify
|
|
|
|
From Eli Zaretskii.
|
|
|
|
|
|
|
|
* grep-2.1 release.
|
|
|
|
|
|
|
|
1997-09-01 Alain Magloire
|
|
|
|
|
|
|
|
* grep-2.0f out for testing.
|
|
|
|
|
|
|
|
* update to GNU gettext library from gettext-0.10.31
|
|
|
|
|
|
|
|
* grep.c : have a nicer format for --version.
|
|
|
|
Noted by Ulrich Drepper.
|
|
|
|
|
|
|
|
* obstack.[ch]: updated from GNU C library
|
|
|
|
* configure.in: look for stdlib.h [HAVE_STDLIB_H]
|
|
|
|
Comments from Ulrich Drepper.
|
|
|
|
|
|
|
|
1997-08-25 Philippe De Muyter <phdm@info.ucl.ac.be>
|
|
|
|
|
|
|
|
* src/dfa.c (sys/types.h): File included unconditionnaly.
|
|
|
|
|
|
|
|
1997-08-16 Eli Zaretskii <eliz@is.elta.co.il>
|
|
|
|
|
|
|
|
* grep.c (long_options) [O_BINARY]: Add DOS-specific options.
|
|
|
|
(fillbuf) [O_BINARY]: For DOS-style text files, strip CR
|
|
|
|
characters at end of line.
|
|
|
|
(prline) [O_BINARY]: Report correct byte offsets, even though CR
|
|
|
|
characters were stripped when reading the file.
|
|
|
|
(usage) [O_BINARY]: Add DOS-specific options.
|
|
|
|
(setmatcher) [HAVE_SETRLIMIT]: Set re_max_failures so that the
|
|
|
|
matcher won't ever overflow the stack.
|
|
|
|
(main) [__MSDOS__, _WIN32]: Handle backslashes and drive letters
|
|
|
|
in argv[0], remove the .exe suffix, and downcase the prgram name.
|
|
|
|
[O_BINARY]: Pass additional DOS-specific options to getopt_long
|
|
|
|
and handle them. Call stat before attempting to open the file, in
|
|
|
|
case it is a directory (DOS will fail the open call for
|
|
|
|
directories). Switch the input descriptor to binary mode, unless
|
|
|
|
it is a terminal device.
|
|
|
|
|
|
|
|
* system.h [O_BINARY]: Define macros to switch a handle to binary
|
|
|
|
mode, so binary files could be grep'ed on MS-DOS and MS-Windows.
|
|
|
|
[HAVE_SETLOCALE]: Test for HAVE_SETLOCALE instead of
|
|
|
|
HAVE_LC_MESSAGES, to prevent compilation error in grep.c on
|
|
|
|
systems which don't define HAVE_LC_MESSAGES, but have setlocale.
|
|
|
|
|
|
|
|
* dosbuf.c: New file, functions specific for MS-DOS/MS-Windows.
|
|
|
|
(guess_type, undossify_input, dossified_pos): New functions.
|
|
|
|
|
|
|
|
* djgpp/config.h, djgpp/config.bat, djgpp/main.mak, djgpp/src.mak,
|
|
|
|
djgpp/po.mak, djgpp/intl.mak, djgpp/tests.mak, djgpp/po2tbl.sed:
|
|
|
|
New files, for building Grep with DJGPP tools for MS-DOS and
|
|
|
|
MS-Windows.
|
|
|
|
|
|
|
|
* grep.1: Document DOS-specific switches.
|
|
|
|
|
|
|
|
1997-08-08 Alain Magloire
|
|
|
|
|
|
|
|
* grep-2.0e: available for testing
|
|
|
|
|
|
|
|
* grep.c: change LC_MESSAGE to LC_ALL for (LC_CTYPE).
|
|
|
|
Suggested by Jochen Hein.
|
|
|
|
|
|
|
|
* ABOUT-NLS: updated.
|
|
|
|
* grep.c: --version: more verbosity (COPYRIGHT).
|
|
|
|
* grep.c: --help: PATTERN, FILE instead of <pattern>, <file>.
|
|
|
|
* INSTALL.grep: not necessary removed.
|
|
|
|
* configure.in: --disable-regex rename --without-include-regex.
|
|
|
|
* THANKS: format: first row name, second email.
|
|
|
|
* ChangeLog: format ISO 8601.
|
|
|
|
Reported by Franc,ois Pinard.
|
|
|
|
|
|
|
|
* grep.c: move dcl of struct stat st into "else" where it's used.
|
|
|
|
Reported by Jim Meyering.
|
|
|
|
|
|
|
|
* grep.c: totalnl should be %u in printf.
|
|
|
|
Reported by Michael Aichlmay
|
|
|
|
Corrected with guidance from Ulrich Drepper
|
|
|
|
|
|
|
|
1997-07-24 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* Makefile.am: corrected an error when installing {f,e}grep.1.
|
|
|
|
From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
|
|
|
|
From Ulrich Drepper <drepper@cygnus.com>.
|
|
|
|
|
|
|
|
* Many files: use PARAMS instead of __STDC__ for prototypes.
|
|
|
|
From Jim Meyering <meyering@eng.ascend.com>.
|
|
|
|
Patch provided by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
|
|
|
|
|
|
|
|
* dfa.[ch]: uses the one in gawk-3.0.3 with the patch from
|
|
|
|
Arnold (see Changelog: July 12 1997)
|
|
|
|
|
|
|
|
* grep.1: a note to say -l, -L, -q stop on first match.
|
|
|
|
Noted by Andrew Beattie <gaffer@tug.com>.
|
|
|
|
|
|
|
|
* grep.c: refuse to scan if the file is a directory.
|
|
|
|
This was causing problems on SUNs. If the directory contains
|
|
|
|
a file that could match the pattern, garbage was display.
|
|
|
|
|
|
|
|
* tests directory: added new set of tests from Henry Spencer
|
|
|
|
regex package. Change the way the tests were done to be more
|
|
|
|
conformant to automake.
|
|
|
|
|
|
|
|
* configure.in: added --disable-regex for folks with their own fuctions.
|
|
|
|
|
|
|
|
* grep-20d : available for testing
|
|
|
|
|
|
|
|
1997-07-18 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* grep-2.0c: available for testing
|
|
|
|
|
|
|
|
1997-07-17 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* src/grep.c: Cause grep to fail if `fclose (stdout)' fails.
|
|
|
|
From Jim Meyering <meyering@eng.ascend.com>.
|
|
|
|
|
|
|
|
* grep.c:usage() more consistency in the --help.
|
|
|
|
|
|
|
|
* egrep, fgrep were links This is in violation of GNU standards:
|
|
|
|
"Please don't make the behavior of a utility depend on the name used
|
|
|
|
to invoke it. It is useful sometimes to make a link to a utility with
|
|
|
|
a different name, and that should not change what it does."
|
|
|
|
For now egrep and fgrep will be copies of grep. A better scheme
|
|
|
|
should be found later.
|
|
|
|
After discussion with Tom Tromey <tromey@cygnus.com>.
|
|
|
|
|
|
|
|
* fgrep.man and egrep.man included: They are stubs that call grep.1.
|
|
|
|
* Makefile.am: modified to install {f,e,}grep[,.1].
|
|
|
|
|
|
|
|
* speed hack for -l, -L: bail out on first match.
|
|
|
|
From Scott Weikart <scott@igc.apc.org>.
|
|
|
|
|
|
|
|
* *.[ch]: provided prototypes for strict argument checking
|
|
|
|
With the help of Stewart Levin <stew@sep.stanford.edu>.
|
|
|
|
|
|
|
|
1997-07-16 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* configure.in: typo in the creation of po/Makefile
|
|
|
|
Noted by Volker Borchert bt@teknon.de.
|
|
|
|
|
|
|
|
* grep-2.0b: make it available for testing.
|
|
|
|
|
|
|
|
1997-07-15 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* src/grep.c usage(): cut the --help in smaller printf()'s
|
|
|
|
Noted by Ulrich Drepper <drepper@cygnus.com>.
|
|
|
|
|
|
|
|
1997-07-14 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* grep-2.0a: make an alpha available for testing.
|
|
|
|
|
|
|
|
1997-07-12 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* run gettextize: added the po directory filled with *.po files.
|
|
|
|
|
|
|
|
* check.sh, scriptgen.awk: fix grep paths.
|
|
|
|
|
|
|
|
* change the directory strucure: grep is now in src to comply with
|
|
|
|
gettext.m4.
|
|
|
|
|
|
|
|
* grep.c version.c [VERSION]: got rid of version.c,
|
|
|
|
it is now define via config.h.
|
|
|
|
|
|
|
|
* dfa.c: patch to speed up initialization.
|
|
|
|
Arnold Robbins (arnold@gnu.ai.mit.edu).
|
|
|
|
|
|
|
|
1997-07-09 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* *.c [HAVE_CONFIG_H]: Macro defined.
|
|
|
|
|
|
|
|
* support for I18N in Makefile.am and configure.in.
|
|
|
|
|
|
|
|
* update all the string to use gettext(I18N).
|
|
|
|
Help from Franc,ois Pinard previous patch <pinard@IRO.UMontreal.CA>.
|
|
|
|
|
|
|
|
1997-07-04 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* obstack.[ch]: updated from glibc.
|
|
|
|
Work of Ulrich Drepper <drepper@cygnus.com>.
|
|
|
|
|
|
|
|
* regex.[ch]: updated from glibc.
|
|
|
|
Work of Ulrich Drepper <drepper@cygnus.com>.
|
|
|
|
|
|
|
|
* grep.c: for option -e not counting '\n' for new keys.
|
|
|
|
From Mark Waite <markw@mddmew.fc.hp.com>.
|
|
|
|
|
|
|
|
* grep.c: for option -f allocating the right count.
|
|
|
|
From Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
|
|
|
|
Mike Heartel (mike@cs.uoregon.edu).
|
|
|
|
|
|
|
|
* kwset.c (bmexec): Cast tp[-2] to unsigned char before comparing.
|
|
|
|
From Jim Meyering <meyering@asic.sc.ti.com>.
|
|
|
|
|
|
|
|
* grep.1: various typos.
|
|
|
|
From Keith Bostic <bostic@bsdi.com>.
|
|
|
|
Mike Heartel (mike@cs.uoregon.edu).
|
|
|
|
|
|
|
|
1997-06-17 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* grep.c: support for long options.
|
|
|
|
patch done by Franc,ois Pinard <pinard@IRO.UMontreal.CA>.
|
|
|
|
|
|
|
|
* add getopt1.c in Makefile.am.
|
|
|
|
Noted by Franc,ois Pinard <pinard@IRO.UMontreal.CA>
|
|
|
|
|
|
|
|
* replace getopt.[ch] and add getopt1.c.
|
|
|
|
|
|
|
|
* kwset.c: undef malloc before define it.
|
|
|
|
Franc,ois Pinard <pinard@IRO.UMontreal.CA>.
|
|
|
|
|
|
|
|
1997-06-07 Alain Magloire <alainm@rcsm.ee.mcgill.ca>
|
|
|
|
|
|
|
|
* grep.c: format incorrect in
|
|
|
|
fprintf("%s: warning: %s: %s...", filename, strerror(errno)).
|
|
|
|
Mike Heartel (mike@cs.uoregon.edu).
|
|
|
|
|
|
|
|
1996-11-19 David J MacKenzie <djm@catapult.va.pubnix.com>
|
|
|
|
|
|
|
|
* make.com: Set the logical SYS. From rdb@cocamrd.oz.au (Rodney Brown).
|
|
|
|
|
|
|
|
* grep.c (S_ISREG): Define if not defined already, for e.g.
|
|
|
|
SunOS 4.0.3.
|
|
|
|
|
|
|
|
* dfa.c (test_bit, set_bit, clear_bit): Renamed from tstbit,
|
|
|
|
setbit, clrbit to avoid conflict with HP-UX sys/param.h macros.
|
|
|
|
|
|
|
|
* memchr.c: New file, from GNU libc.
|
|
|
|
* grep.c (memchr): Remove definition.
|
|
|
|
* configure.in: Use AC_REPLACE_FUNCS for memchr.
|
|
|
|
|
|
|
|
* configure.in: Remove unused checks for memalign and unsigned char.
|
|
|
|
* grep.c: HAVE_WORKING_MMAP -> HAVE_MMAP.
|
|
|
|
|
|
|
|
* system.h: New file.
|
|
|
|
* dfa.c, kwset.c, grep.c, search.c: Use it instead of duplicating
|
|
|
|
portability boilerplate.
|
|
|
|
|
|
|
|
* grep.c: Include sys/types.h once, instead of three times
|
|
|
|
conditionally.
|
|
|
|
* dfa.c, kwset.c, search.c: Include sys/types.h unconditionally,
|
|
|
|
to always try to get size_t (needed on some old SysV's).
|
|
|
|
|
|
|
|
* dfa.c: Define strchr in terms of index, not the other way around.
|
|
|
|
* search.c: Use memcpy instead of bcopy.
|
|
|
|
|
|
|
|
1996-11-15 David J MacKenzie <djm@catapult.va.pubnix.com>
|
|
|
|
|
|
|
|
* Many files: Update FSF address.
|
|
|
|
Update configuration to use autoconf v2 and automake.
|
|
|
|
|
|
|
|
1993-05-22 Mike Haertel <mike@cs.uoregon.edu>
|
|
|
|
|
|
|
|
* Version 2.0 released.
|