Mail Archives: djgpp/2016/05/14/11:19:04
This is a port of GNU grep 2.25 to MSDOS/DJGPP.
This is GNU grep, the "fastest grep in the west".
GNU grep is based on a fast lazy-state deterministic matcher (about
twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper
search for a fixed string that eliminates impossible text from being
considered by the full regexp matcher without necessarily having to
look at every character. The result is typically many times faster
than Unix grep or egrep. (Regular expressions containing backreferencing
will run more slowly, however.)
DJGPP specific changes.
=======================
- The directory under inspection has two file descriptors associated to it.
But when the directory is leaved only one of them is closed thus the
descriptors become exhausted if the directory tree contains more than 234
(= 254 - 20) directories. This produces then an error message like this:
grep: dir1/dir2/foobar: Too many open files (EMFILE)
This has been fixed by recording the descriptor that remains open and that
now is closed when the directory is left.
- On DOS, CWD is global, so the starting directory must be recorded, to be
able to resore and return to it in case the program gets interrupted by
SIGINT or similar. To this purpose a signal catcher has been added.
- The port has been tested by using it. I have used it on WinXP only.
It has worked flawlessly. I do not konw if this will ever be the case on
FreeDOS. I have never used/tested them in that environment.
- The port has been configured and compiled on WinXP SP3 and Win98SE using
gcc530b and bnu226br3. There is no guarantee that this may be possible
with any other DOS-like OS. Due to the massive use of long file names it
will not be possible to configure and compile without LFN support.
- The port does not provide NLS support.
- The port has been configured with perl-regexp (pcre) support enabled.
This means that you will have to install pcre libray available as:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/pcre838b.zip
if you decide to compile the the preconfigured sources. If you prefer
to disable the pcre support you will have to reconfigure and recompile
the sources again, but this time passing the "no-pcre" command line
option to config.bat. The zip file contains only the one build with
perl-regexp support enabled.
I have tried to configure with pcr1021b but the configuration step failed,
so that pcre838b has been used.
As usual, all djgpp specific files (diffs, README files, etc.) are stored in
the /djgpp directory. The sources have been configured to be build in the
/_build directory. If for some reason it does not work for you, delete its
contents and configure from scratch again.
For further information about GNU grep please read the info docs and NEWS file.
This is an verbatim extract of the NEWS file (multi-byte specific features are
not supported by the DJGPP port):
-------------------------------------------------------------------------------
* Noteworthy changes in release 2.25 (2016-04-21) [stable]
** Bug fixes
In the C or POSIX locale, grep now treats all bytes as valid
characters even if the C runtime library says otherwise. The
revised behavior is more compatible with the original intent of
POSIX, and the next release of POSIX will likely make this official.
[bug introduced in grep-2.23]
grep -Pz no longer mistakenly diagnoses patterns like [^a] that use
negated character classes. [bug introduced in grep-2.24]
grep -oz now uses null bytes, not newlines, to terminate output lines.
[bug introduced in grep-2.5]
** Improvements
grep now outputs details more consistently when reporting a write error.
E.g., "grep: write error: No space left on device" rather than just
"grep: write error".
-------------------------------------------------------------------------------
The port consists of the usual three packages produced using djdev205
that can be downloaded from ftp.delorie.com and mirrors as (time stamp 2016-05-14):
grep 2.25 binaries, info and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/grep225b.zip
grep 2.25 dvi, html, pdf and ps format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/grep225d.zip
grep 2.25 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/grep225s.zip
Send grep specific bug reports to <bug-grep AT gnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
If you are not sure if the failure is really a grep failure
or a djgpp specific failure, report it here and *not* to
<bug-grep AT gnu DOT org>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
P.S.: please pay attention that the time stamp is 2016-05-14 and _not_ older!!!!
- Raw text -