GNU bug report logs - #4422
diff-switches is a bad idea

Previous Next

Package: emacs;

Reported by: Reuben Thomas <rrt <at> sc3d.org>

Date: Sun, 13 Sep 2009 12:25:05 UTC

Severity: wishlist

Tags: fixed, moreinfo

Fixed in version 27.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


Message #18 received at 4422 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 4422 <at> debbugs.gnu.org, rrt <at> sc3d.org
Subject: Re: bug#4422: diff-switches is a bad idea
Date: Tue, 01 Oct 2019 16:42:14 +0300
> From: Lars Ingebrigtsen <larsi <at> gnus.org>
> Date: Tue, 01 Oct 2019 15:18:29 +0200
> Cc: 4422 <at> debbugs.gnu.org
> 
> Reuben Thomas <rrt <at> sc3d.org> writes:
> 
> > I'm using Emacs 23, and I have just been puzzling over why vc-diff
> > stopped working in CVS checkouts. I eventually traced it to
> > diff-switches: I have mine set to "-Nur", quite reasonably, I think,
> > but of course "-r" means something quite different to CVS, and I ended
> > up with a hard-to-understand error message about tags.
> >
> > I suggest not using diff-switches (this would also remove some
> > special-case code, as no other vc command respects a non-vc option
> > like this.) Yes, some users will have to configure the same thing in
> > two places, but others will be saved the confusion I had. For the
> > switches to be commoned up sensibly, a more structured approach to
> > setting them is needed that takes semantics into account, and that way
> > lies madness.
> 
> (I'm going through old bug reports that unfortunately didn't get any
> response at the time.)
> 
> I'm not extremely familiar with the vc code, but looking at it in Emacs
> 27, at least, the switches for diff in CVS comes from
> vc-cvs-diff-switches, if I read the `vc-switches' function correctly.

It uses vc-cvs-diff-switches, but if that's nil (the default), it will
try to use vc-diff-switches (which is also nil by default) and
diff-switches, using the first non-nil of these.

I think the current situation is reasonable, since to resolve it the
user could customize vc-diff-switches or vc-cvs-diff-switches to t to
avoid this problem.




This bug report was last modified 5 years and 293 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.