Index: lib/c-stack.c --- lib/c-stack.c.orig 2025-01-02 03:33:12.000000000 +0100 +++ lib/c-stack.c 2025-02-03 23:28:26.865087000 +0100 @@ -35,6 +35,10 @@ #include +#if defined(__FreeBSD__) +#include +#endif + #include "c-stack.h" #include Index: man/Makefile.in --- man/Makefile.in.orig 2025-02-03 03:15:12.000000000 +0100 +++ man/Makefile.in 2025-02-03 23:32:45.140511000 +0100 @@ -2506,22 +2506,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 > $$base.1-t \ - && mv $$base.1-t $(srcdir)/$$base.1 - # 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 2025-02-03 05:49:54.000000000 +0100 +++ man/diff3.1 2025-02-03 23:32:14.095503000 +0100 @@ -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 2025-01-12 19:27:47.000000000 +0100 +++ src/diff3.c 2025-02-03 23:33:37.996423000 +0100 @@ -170,6 +170,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; @@ -206,7 +209,7 @@ STRIP_TRAILING_CR_OPTION }; -static char const shortopts[] = "aeimvx3AEL:TX"; +static char const shortopts[] = "aeimvx3AEL:TXO"; static struct option const longopts[] = { {"diff-program", 1, 0, DIFF_PROGRAM_OPTION}, @@ -284,6 +287,9 @@ case 'T': initial_tab = true; break; + case 'O': + show_2nd_on_overlap = true; + break; case STRIP_TRAILING_CR_OPTION: strip_trailing_cr = true; break; @@ -1453,7 +1459,7 @@ bool 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); @@ -1590,7 +1596,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);