Re: svn commit: r367076 - head/usr.bin/diff

2020-10-27 Thread Kyle Evans
On Tue, Oct 27, 2020 at 7:57 AM Baptiste Daroussin  wrote:
>
> On Tue, Oct 27, 2020 at 12:27:26PM +, Kyle Evans wrote:
> > 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;
>
> I think it would be great to have a test to ensure we don't break it in the
> futur.
>

Yeah, I had the same thought right after :wq :-) I'll whip up a test
this afternoon.

Thanks,

Kyle Evans
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r367076 - head/usr.bin/diff

2020-10-27 Thread Baptiste Daroussin
On Tue, Oct 27, 2020 at 12:27:26PM +, Kyle Evans wrote:
> 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;

I think it would be great to have a test to ensure we don't break it in the
futur.

Bapt


signature.asc
Description: PGP signature


svn commit: r367076 - head/usr.bin/diff

2020-10-27 Thread Kyle Evans
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.cTue Oct 27 11:29:11 2020(r367075)
+++ head/usr.bin/diff/diff.cTue 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;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"