NEWS revision 53574
153574SobrienVersion 2.3: 253574Sobrien 353574Sobrien - When searching a binary file FOO, grep now just reports 453574Sobrien `Binary file FOO matches' instead of outputting binary data. 553574Sobrien This is typically more useful than the old behavior, 653574Sobrien and it is also more consistent with other utilities like `diff'. 753574Sobrien A file is considered to be binary if it contains a NUL (i.e. zero) byte. 853574Sobrien 953574Sobrien The new -a or --text option causes `grep' to assume that all 1053574Sobrien input is text. (This option has the same meaning as with `diff'.) 1153574Sobrien Use it if you want binary data in your output. 1253574Sobrien 1353574Sobrien - `grep' now searches directories just like ordinary files; it no longer 1453574Sobrien silently skips directories. This is the traditional behavior of 1553574Sobrien Unix text utilities (in particular, of traditional `grep'). 1653574Sobrien Hence `grep PATTERN DIRECTORY' should report 1753574Sobrien `grep: DIRECTORY: Is a directory' on hosts where the operating system 1853574Sobrien does not permit programs to read directories directly, and 1953574Sobrien `grep: DIRECTORY: Binary file matches' (or nothing) otherwise. 2053574Sobrien 2153574Sobrien The new -d ACTION or --directories=ACTION option affects directory handling. 2253574Sobrien `-d skip' causes `grep' to silently skip directories, as in grep 2.2; 2353574Sobrien `-d read' (the default) causes `grep' to read directories if possible, 2453574Sobrien as in earlier versions of grep. 2553574Sobrien 2653574Sobrien - The MS-DOS and Microsoft Windows ports now behave identically to the 2753574Sobrien GNU and Unix ports with respect to binary files and directories. 2853574Sobrien 2953574SobrienVersion 2.2: 3053574Sobrien 3153574SobrienBug fix release. 3253574Sobrien 3353574Sobrien - Status error number fix. 3453574Sobrien - Skipping directories removed. 3553574Sobrien - Many typos fix. 3653574Sobrien - -f /dev/null fix(not to consider as an empty pattern). 3753574Sobrien - Checks for wctype/wchar. 3853574Sobrien - -E was using the wrong matcher fix. 3953574Sobrien - bug in regex char class fix 4053574Sobrien - Fixes for DJGPP 4153574Sobrien 4253574SobrienVersion 2.1: 4353574Sobrien 4453574SobrienThis is a bug fix release(see Changelog) i.e. no new features. 4553574Sobrien 4653574Sobrien - More compliance to GNU standard. 4753574Sobrien - Long options. 4853574Sobrien - Internationalisation. 4953574Sobrien - Use automake/autoconf. 5053574Sobrien - Directory hierarchy change. 5153574Sobrien - Sigvec with -e on Linux corrected. 5253574Sobrien - Sigvec with -f on Linux corrected. 5353574Sobrien - Sigvec with the mmap() corrected. 5453574Sobrien - Bug in kwset corrected. 5553574Sobrien - -q, -L and -l stop on first match. 5653574Sobrien - New and improve regex.[ch] from Ulrich Drepper. 5753574Sobrien - New and improve dfa.[ch] from Arnold Robbins. 5853574Sobrien - Prototypes for over zealous C compiler. 5953574Sobrien - Not scanning a file, if it's a directory 6053574Sobrien (cause problems on Sun). 6153574Sobrien - Ported to MS-DOS/MS-Windows with DJGPP tools. 6253574Sobrien 6353574SobrienSee Changelog for the full story and proper credits. 6453574Sobrien 6594SnateVersion 2.0: 6694Snate 6794SnateThe most important user visible change is that egrep and fgrep have 6894Snatedisappeared as separate programs into the single grep program mandated 6994Snateby POSIX 1003.2. New options -G, -E, and -F have been added, 7094Snateselecting grep, egrep, and fgrep behavior respectively. For 7194Snatecompatibility with historical practice, hard links named egrep and 7294Snatefgrep are also provided. See the manual page for details. 7394Snate 7494SnateIn addition, the regular expression facilities described in Posix 7594Snatedraft 11.2 are now supported, except for internationalization features 7694Snaterelated to locale-dependent collating sequence information. 7794Snate 7894SnateThere is a new option, -L, which is like -l except it lists 7994Snatefiles which don't contain matches. The reason this option was 8094Snateadded is because '-l -v' doesn't do what you expect. 8194Snate 8294SnatePerformance has been improved; the amount of improvement is platform 8394Snatedependent, but (for example) grep 2.0 typically runs at least 30% faster 8494Snatethan grep 1.6 on a DECstation using the MIPS compiler. Where possible, 8594Snategrep now uses mmap() for file input; on a Sun 4 running SunOS 4.1 this 8694Snatemay cut system time by as much as half, for a total reduction in running 8794Snatetime by nearly 50%. On machines that don't use mmap(), the buffering 8894Snatecode has been rewritten to choose more favorable alignments and buffer 8994Snatesizes for read(). 9094Snate 9194SnatePortability has been substantially cleaned up, and an automatic 9294Snateconfigure script is now provided. 9394Snate 9494SnateThe internals have changed in ways too numerous to mention. 9594SnatePeople brave enough to reuse the DFA matcher in other programs 9694Snatewill now have their bravery amply "rewarded", for the interface 9794Snateto that file has been completely changed. Some changes were 9894Snatenecessary to track the evolution of the regex package, and since 9994SnateI was changing it anyway I decided to do a general cleanup. 100