📄 changelog
字号:
* 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_LIBPCRE2000-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.22000-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 Release2000-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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -