GNU Diff, Diff3, SDiff and Cmp Version 2.1 ------------------------------------------ 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.1, 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 amiga.physik.unizh.ch. Download the file amiga-textutils-1.3.lha that comes with David Gay's brilliant port of GNU Emacs. There's 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. Because not everybody has the texinfo package, I also have included a TeX-ed version of the manual. You can print diff.dvi (with a TeX printer driver) to get a hardcopy of the manual. 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 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 amiga.physik.unizh.ch) 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