SYNOPSIS

This is a collection of some of the patches which I have made to GNU programs. I have submitted these patches to the appropriate maintainers, but received no acknowledgment. That is, they were ignored. In a few other cases, I have seen my changes incorporated without credit, but that is another matter. The former (nonexistent or non-responsive maintainers) are preferable to the latter (egotistical plagiarists). Here's a quote from one of the latter's build instructions:
Once again, there should be no errors.
You'll get lots of warnings, just ignore them.

PROGRAMS

DIFFUTILS

20010303 A patch which I used to build diffutils with Visual C++. Besides the essential changes for the port, there are a number of corrections to the code (mismatches with types, nonstandardisms, etc.).

FINDUTILS

19990508 A fix for sign-extension which caused a core dump in locate when there was too great a change in lengths between "adjacent" directory names.
20010227 A patch which I used to build diffutils with Visual C++. Note that pathnames are emitted with forward slashes, and the -exec option does not work.

FLEX

20051223
This patch allows me to build vile with that version of flex by repairing some of the damage done by the "new" flex's moving some of its namespace into m4 macros.

Flex, as you note here is not a GNU program.

So-called "new" flex is an orphaned project here. which has been packaged in Debian/unstable since 2003. The Debian package maintainer has been attempting to breath life into it ever since, although its developers have abandoned it. For practical purposes, he is the program's maintainer, but does not have a good grasp of its design. Consequently, development (other than build fixes) has stopped.

More interesting, however, is the notion of making flex depend upon m4. That detracts from its portability (read the code and think about it). The immediate problem addressed by this patch is that by making m4-macros of flex's output, it makes the -P option rename the yytext and yyleng variables, rather than provide both the names. That makes it not comply with POSIX (some mailing list discussion noted via google a while back hinted that the developers needed some help there).

GLIBC

20010323
A patch for recent glibc (2.x) which addresses the compiler warnings from the nonstandard use of pointer arithmetic in

		/usr/include/bits/string2.h

GREP

20010227 A patch which I used to build grep with Visual C++.

INDENT

19990609 A patch to indent 2.0, which does the following:
20010112 Fixes a buffer overflow when reading a comment with very long line (e.g., 2k).
20020428 Lots of fixes, making this usable for the special syntax used for conditional macros in xterm.
I do not use post-2.0 indent because it introduces more bugs than it fixes. Each time I notice a newer 2.x version, I test it, comparing to the 2.0 case, and note that most of the differences are making the output formatted other than as requested. From this, I conclude: The former I could excuse in a utility being modified for private use, as I did for bcpp. Before deciding to work on bcpp, I studied it, and indent, and chose the former, since the latter is badly-structured, and would have taken several months to remedy.

PATCH

20010523 A patch which I used to build patch with Visual C++ and Borland C:

SEE ALSO

I also have patches for autoconf.

Copyright

Copyright © 2001-2004,2005 by Thomas E. Dickey <dickey@invisible-island.net>.
All Rights Reserved.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of the above listed copyright holder(s) not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.

THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.