http://invisible-island.net/
Copyright © 2001-2017,2022 by Thomas E. Dickey


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 (not a GNU maintainer) 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

Flex of course is not a part of the GNU project. It is distributed under a modified BSD license. However, many people continue to assume it is GNU software; this page is a convenient place to document this patch (until I add an analogous page for other patches).

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++.

PATCH

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

Copyright © 2001-2017,2022 by Thomas E. Dickey
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.