diffmk compares two versions of a file and creates a third version that includes “change mark” (.mc) commands for nroff(1) and troff(1). oldfile and newfile are the old and new versions of the file. diffmk generates markedfile, which, contains the text from newfile with troff(1) “change mark” requests (.mc) inserted where newfile differs from oldfile. When markedfile is formatted, changed or inserted text is shown by | at the right margin of each line. The position of deleted text is shown by a single *.
See largefile(5) for the description of the behavior of diffmk when encountering files greater than or equal to 2 Gbyte ( 231 bytes).
diffmk can also be used in conjunction with the proper troff requests to produce program listings with marked changes. In the following command line:
example% diffmk old.c new.c marked.c ; nroff reqs marked.c | pr
the file reqs contains the following troff requests:
.pl 1 .ll 77 .nf .eo .nh
which eliminate page breaks, adjust the line length, set no-fill mode, ignore escape characters, and turn off hyphenation, respectively.
If the characters | and * are inappropriate, you might run markedfile through sed(1) to globally change them.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
Aesthetic considerations may dictate manual adjustment of some output. File differences involving only formatting requests may produce undesirable output, that is, replacing .sp by .sp 2 will produce a “change mark” on the preceding or following line of output.