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