Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Oct 2020 12:27:26 +0000 (UTC)
From:      Kyle Evans <kevans@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r367076 - head/usr.bin/diff
Message-ID:  <202010271227.09RCRQEN018075@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202010271227.09RCRQEN018075>