Index: lib/c-stack.c --- lib/c-stack.c.orig 2021-08-02 08:00:29.542721000 +0200 +++ lib/c-stack.c 2021-08-02 08:00:53.428943000 +0200 @@ -35,6 +35,10 @@ #include +#if defined(__FreeBSD__) +#include +#endif + #include "c-stack.h" #include Index: man/Makefile.in --- man/Makefile.in.orig 2021-08-02 03:20:12.000000000 +0200 +++ man/Makefile.in 2021-08-02 08:01:12.715884000 +0200 @@ -1779,21 +1779,6 @@ .PRECIOUS: Makefile -cmp.1: $S/cmp.c cmp.x -diff.1: $S/diff.c diff.x -diff3.1: $S/diff3.c diff3.x -sdiff.1: $S/sdiff.c sdiff.x - -# Depend on the former to get version number changes. -$(dist_man1_MANS): $(SRC_VERSION_C) help2man - $(AM_V_GEN)base=`expr $@ : '\(.*\).1'` \ - && test -x $(bin_dir)/$$base \ - && (echo '[NAME]' \ - && sed 's@/\* *@@; s/-/\\-/;s/^GNU //; q' $S/$$base.c) \ - | PATH="$(bin_dir)$(PATH_SEPARATOR)$$PATH" \ - $(srcdir)/help2man -i - -i $(srcdir)/$$base.x \ - -S '$(PACKAGE) $(VERSION)' $$base > $@-t && mv $@-t $@ - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: man/diff3.1 --- man/diff3.1.orig 2021-08-02 03:56:25.000000000 +0200 +++ man/diff3.1 2021-08-02 08:00:30.253323000 +0200 @@ -39,6 +39,9 @@ \fB\-a\fR, \fB\-\-text\fR treat all files as text .TP +\fB\-O\fR +Always show content of OLDFILE in bracketing output of unmerged changes. (OpenPKG only) +.TP \fB\-\-strip\-trailing\-cr\fR strip trailing carriage return on input .TP Index: src/diff3.c --- src/diff3.c.orig 2021-08-01 19:34:52.000000000 +0200 +++ src/diff3.c 2021-08-02 08:02:58.687218000 +0200 @@ -163,6 +163,9 @@ /* If nonzero, show information for DIFF_2ND diffs. */ static bool show_2nd; +/* If nonzero, show information for DIFF_2ND on overlaps, too. */ +static bool show_2nd_on_overlap; + /* If nonzero, include ':wq' at the end of the script to write out the file being edited. */ static bool finalwrite; @@ -276,7 +279,7 @@ c_stack_action (0); xstdopen (); - while ((c = getopt_long (argc, argv, "aeimvx3AEL:TX", longopts, 0)) != -1) + while ((c = getopt_long (argc, argv, "aeimvx3AEL:TXO", longopts, 0)) != -1) { switch (c) { @@ -313,6 +316,9 @@ case 'e': incompat |= 1 << OPTION_e; break; + case 'O': + show_2nd_on_overlap = true; + break; case 'T': initial_tab = true; break; @@ -1579,7 +1585,7 @@ leading_dot = false; if (type == DIFF_ALL) { - if (show_2nd) + if (show_2nd || show_2nd_on_overlap) { /* Append lines from FILE1. */ fprintf (outputfile, "||||||| %s\n", file1); @@ -1718,7 +1724,7 @@ D_RELLEN (b, mapping[FILE0], i), outputfile); } - if (show_2nd) + if (show_2nd || show_2nd_on_overlap) { /* Put in lines from FILE1 with bracket. */ fprintf (outputfile, format_2nd, file1);