GNU Diff, Diff3, SDiff and Cmp Version 2.3 ------------------------------------------ Amiga Port by Carsten Steger ---------------------------- Hi everyone! In this directory you will find the complete source code of GNU Diff. All the modifications I had to make to get it to compile and run with SAS/C 6.2 are bracketed by '#ifdef AMIGA' constructions. I also have included a diff file (generated by diff 2.3, of course :-) ) that contains the context diffs to the original distribution. Diff should run under any OS version with one exception: If you use the '-l' resp. '--paginate' flag you have to have OS 2.0 or higher. This is due to the fact that I had to use the 'System' call to run pr. For those of you that don't have pr: it is obtainable by ftp at any Aminet site that carries all uploaded files (e.g. ftp.luth.se). Download the file amiga-textutils-1.3.lha that comes with David Gay's brilliant port of GNU Emacs. If you don't have ftp access, but are able to send and receive e-mail, you can try one of the various ftp mail-servers (e.g. BITFTP@pucc.princeton.edu; send a mail message saying 'help' to that address for instructions). There are a couple of minor differences to diff under UN*X: The current directory is referred to by "". So if you want to diff a directory against the current directory, type 'diff ""'. If you want to change the line- and line-group-format, here's how it's done on the Amiga (see also the sections 'Line Formats', 'Line Group Formats', and 'Detailed If-then-else' in the manual): On UN*X you would type: diff \ --old-line-format='-%l ' \ --new-line-format='|%l ' \ --unchanged-line-format=' %l ' \ old new On the Amiga you have to type this as (type after each '+'): diff "--old-line-format=-%l+ " "--new-line-format=|%l+ " "--unchanged-line-format= %l+ " old new Summing up: if you want to insert a newline into an argument, type '+' followed by . This seems to be the only way to do this with the Commodore shell. NB: The files in the '-x' resp. '--exclude' option are specified with UN*X wildcards (as stated in the maunual): Use '*.o' to get '#?.o'! (This is because the exclusion is done internally using the GNU regexp library.) Diff3 only runs under OS 2.0 or higher. This is because I had to use the 'System' call to run the two child processes that diff3 spawns. Sdiff, too, only runs under OS 2.0 or higher for the same reason as above. Please note that if you break the program with C-c or by typing the 'q' command within sdiff, it might take some time to clear the pending pipe in- and output. Otherwise the program should run exactly as described in the maual. The default editor that sdiff uses is MEmacs from the good old Workbench. You should have it somewhere in your path. Otherwise you have to set the EDITOR environment variable: setenv EDITOR . Cmp runs under any OS version. To install the programs you just copy them to a directory in your path: copy c/#? The documentation is included in the diff.texi file. Since the release of version 2.2 I don't provide a TeX'ed version of the documentation anymore (mainly to save disk-space). If you want to get the printed documentation I suggest that you get the makeinfo package mentioned below. This package contains an Amiga-version of texindex. For those of you that don't have TeX: An excellent port of TeX for the Amiga by Georg Hessman (PasTeX) is obtainable by ftp at ftp.uni-passau.de. If you have all these programs available, take the following steps to produce the file diff.dvi that can be printed with the appropriate TeX printer driver (if you have a shell that does wildcard expansion for you the 'spat' command is not necessary): tex diff.texi spat texindex diff.?? tex diff.texi spat texindex diff.?? tex diff.texi If you have the infamous Am*gaGuide, I highly recommend that you use makeinfo by Sebastiano Vigna and Reinhard Spisser (on Fish disk 787 or by ftp at any aminet site that carries all files) and convert diff.texi into the Am*gaGuide format for online documentation. If you use GNU Emacs on the Amiga you might want to install the #?.info#? files in GNUEMACS:info too. You will have to make an appropriate entry in the dir file in this case. If you have any problems that you think are specific to the Amiga version of diff, e.g. you get a different result on the Amiga than the result you get on a UN*X machine, you should report them to me. My E-mail address is: carsten.steger@informatik.tu-muenchen.de If you think you have found any other bugs, you should report them to the GNU project. Their address is: bug-gnu-utils@prep.ai.mit.edu Have fun! Carsten