svn commit: r367076 - head/usr.bin/diff
Kyle Evans
kevans at FreeBSD.org
Tue Oct 27 12:27:27 UTC 2020
Author: kevans
Date: Tue Oct 27 12:27:26 2020
New Revision: 367076
URL: https://svnweb.freebsd.org/changeset/base/367076
Log:
diff: don't force the format to 'context' with -p immediately
Instead, leave the fomat as unspecified (if it hasn't been) and use the
-p flag as a hint to 'context' if no other formatting option is specified.
This fixes `diff -purw`, used frequently by emaste, and matches the behavior
of its GNU counterpart.
PR: 250015
Reviewed by: emaste
MFC after: 1 week
Modified:
head/usr.bin/diff/diff.c
Modified: head/usr.bin/diff/diff.c
==============================================================================
--- head/usr.bin/diff/diff.c Tue Oct 27 11:29:11 2020 (r367075)
+++ head/usr.bin/diff/diff.c Tue Oct 27 12:27:26 2020 (r367076)
@@ -210,17 +210,6 @@ main(int argc, char **argv)
diff_format = D_NREVERSE;
break;
case 'p':
- /*
- * If it's not unset and it's not set to context or
- * unified, we'll error out here as a conflicting
- * format. If it's unset, we'll go ahead and set it to
- * context.
- */
- if (FORMAT_MISMATCHED(D_CONTEXT) &&
- FORMAT_MISMATCHED(D_UNIFIED))
- conflicting_format();
- if (diff_format == D_UNSET)
- diff_format = D_CONTEXT;
dflags |= D_PROTOTYPE;
break;
case 'P':
@@ -320,6 +309,8 @@ main(int argc, char **argv)
newarg = optind != prevoptind;
prevoptind = optind;
}
+ if (diff_format == D_UNSET && (dflags & D_PROTOTYPE) != 0)
+ diff_format = D_CONTEXT;
if (diff_format == D_UNSET)
diff_format = D_NORMAL;
argc -= optind;
More information about the svn-src-all
mailing list