Subject: bug#1384 closed by Glenn Morris <[email-masked]> (Re: Bug#1384)

From: [email-masked] (Emacs bug Tracking System)

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#1384: vc-diff-switches inconsistencies

It has been closed by Glenn Morris <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Glenn Morris <[email-masked]> by
replying to this email.

-- 
1384: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1384
Emacs Bug Tracking System
Contact [email-masked] with problems
>From [email-masked] Wed Dec  3 00:00:05 2008
Date: Wed, 3 Dec 2008 02:59:34 -0500
From: Glenn Morris <[email-masked]>
To: [email-masked]
Subject: Re: Bug#1384

I believe this is tidied up now.

>From [email-masked] Tue Sep 23 07:58:05 2008
Date: Tue, 23 Sep 2008 16:57:24 +0200
From: Francesco Potorti` <[email-masked]>
Subject: vc-diff for the hg backend ignore diff switches variables
To: GNU emacs bug list <[email-masked]>
Organization: 

Three related problems:

1)
Apparently the hg backend of vc ignores both diff-switches and
vc-diff-switches.

2)
The vc-hg-diff-switches variables is not defined.

3)
The hg backend is special with respect to the vc-diff-switches
variable.  Its doc says:

  A string or list of strings specifying switches for diff under VC.
  When running diff under a given BACKEND, VC concatenates the values of
  `diff-switches', `vc-diff-switches', and `vc-BACKEND-diff-switches' to
  get the switches for that command.  Thus, `vc-diff-switches' should
  contain switches that are specific to version control, but not
  specific to any particular backend.

This behaviour assumes that the diff switches can be accumulated.
however, it does not allow for removing them for a particular backend.
For example, I have

(setq diff-switches "-pu"
      vc-diff-switches "-b")

which works for the cvs and rcs backends.  However, it would not work
for the hg backend, as 'hg diff' does not tolerate the -u option.  This
problem would require a different way of combining the diff switches.