diffmk

- mark differences between versions of a troff input file

Synopsis

diffmkoldfilenewfilemarkedfile

Description

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

Usage

See largefile(5) for the description of the behavior of diffmk when encountering files
greater than or equal to 2 Gbyte ( 231 bytes).

Examples

Example 1 An example of the diffmk command.

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.

Attributes

See Also

Bugs

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.