changeset 100186:c9d564389052

(vc-cvs-diff-switches): Doc fix. Add t as option. (vc-cvs-diff): Use vc-diff-switches or diff-switches rather than appending.
author Glenn Morris <rgm@gnu.org>
date Wed, 03 Dec 2008 07:43:33 +0000
parents 9cc555e1a10e
children e518f14b0bda
files lisp/vc-cvs.el
diffstat 1 files changed, 20 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/vc-cvs.el	Wed Dec 03 07:41:10 2008 +0000
+++ b/lisp/vc-cvs.el	Wed Dec 03 07:43:33 2008 +0000
@@ -1,7 +1,7 @@
 ;;; vc-cvs.el --- non-resident support for CVS version-control
 
-;; Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003,
-;;   2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+;;   2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Author:      FSF (see vc.el for full credits)
 ;; Maintainer:  Andre Spiegel <spiegel@gnu.org>
@@ -82,12 +82,12 @@
   :group 'vc)
 
 (defcustom vc-cvs-diff-switches nil
-  "A string or list of strings specifying extra switches for cvs diff under VC."
-    :type '(choice (const :tag "None" nil)
-		 (string :tag "Argument String")
-		 (repeat :tag "Argument List"
-			 :value ("")
-			 string))
+  "String or list of strings specifying switches for CVS diff under VC.
+If nil, use the value of `vc-diff-switches'.  If t, use no switches."
+  :type '(choice (const :tag "Unspecified" nil)
+                 (const :tag "None" t)
+                 (string :tag "Argument String")
+                 (repeat :tag "Argument List" :value ("") string))
   :version "21.1"
   :group 'vc)
 
@@ -123,9 +123,12 @@
   :type '(choice (const :tag "Always stay local" t)
 		 (const :tag "Only for file operations" only-file)
 		 (const :tag "Don't stay local" nil)
-                 (list :format "\nExamine hostname and %v" :tag "Examine hostname ..."
-                       (set :format "%v" :inline t (const :format "%t" :tag "don't" except))
-                       (regexp :format " stay local,\n%t: %v" :tag "if it matches")
+                 (list :format "\nExamine hostname and %v"
+                       :tag "Examine hostname ..."
+                       (set :format "%v" :inline t
+                            (const :format "%t" :tag "don't" except))
+                       (regexp :format " stay local,\n%t: %v"
+                               :tag "if it matches")
                        (repeat :format "%v%i\n" :inline t (regexp :tag "or"))))
   :version "23.1"
   :group 'vc)
@@ -270,6 +273,7 @@
 ;;; State-changing functions
 ;;;
 
+;; FIXME doc is wrong re switches.
 (defun vc-cvs-register (files &optional rev comment)
   "Register FILES into the CVS version-control system.
 COMMENT can be used to provide an initial description of FILES.
@@ -522,13 +526,12 @@
 	      (coding-system-for-read (vc-coding-system-for-diff file)))
 	  (if (and file-oldvers file-newvers)
 	      (progn
+		;; This used to append diff-switches and vc-diff-switches,
+		;; which was consistent with the vc-diff-switches doc at that
+		;; time, but not with the actual behavior of any other VC diff.
 		(apply 'vc-do-command (or buffer "*vc-diff*") 1 "diff" nil
-		       (append (if (listp diff-switches)
-				   diff-switches
-				 (list diff-switches))
-			       (if (listp vc-diff-switches)
-				   vc-diff-switches
-				 (list vc-diff-switches))
+		       ;; Not a CVS diff, does not use vc-cvs-diff-switches.
+		       (append (vc-switches nil 'diff)
 			       (list (file-relative-name file-oldvers)
 				     (file-relative-name file-newvers))))
 		(setq status 0))