Index: lib/c-stack.c --- lib/c-stack.c.orig 2016-08-05 01:37:51.000000000 +0200 +++ lib/c-stack.c 2016-08-09 08:22:51.583073573 +0200 @@ -35,6 +35,10 @@ #include +#if defined(__FreeBSD__) +#include +#endif + #ifndef __attribute__ # if __GNUC__ < 3 # define __attribute__(x) Index: man/Makefile.in --- man/Makefile.in.orig 2016-08-06 20:23:37.000000000 +0200 +++ man/Makefile.in 2016-08-09 08:23:15.912797672 +0200 @@ -1432,20 +1432,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/-/\\-/; 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 2016-08-08 19:12:36.000000000 +0200 +++ man/diff3.1 2016-08-09 08:22:52.243348762 +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 2016-08-05 01:37:45.000000000 +0200 +++ src/diff3.c 2016-08-09 08:22:52.243348762 +0200 @@ -158,6 +158,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; @@ -237,7 +240,7 @@ textdomain (PACKAGE); c_stack_action (0); - while ((c = getopt_long (argc, argv, "aeimvx3AEL:TX", longopts, 0)) != -1) + while ((c = getopt_long (argc, argv, "aeimvx3AEL:TXO", longopts, 0)) != -1) { switch (c) { @@ -272,6 +275,9 @@ case 'e': incompat++; break; + case 'O': + show_2nd_on_overlap = true; + break; case 'T': initial_tab = true; break; @@ -1527,7 +1533,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); @@ -1666,7 +1672,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);