changeset 35820:3cfa6e077b83

(vc-diff-switches): New user option. (vc-version-diff): Use it. (vc-diff-switches-list): New macro.
author André Spiegel <spiegel@gnu.org>
date Thu, 01 Feb 2001 15:08:49 +0000
parents 74e2d9de2fc1
children 6b1ff979e045
files lisp/vc.el
diffstat 1 files changed, 27 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/vc.el	Thu Feb 01 15:01:11 2001 +0000
+++ b/lisp/vc.el	Thu Feb 01 15:08:49 2001 +0000
@@ -5,7 +5,7 @@
 ;; Author:     FSF (see below for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
 
-;; $Id: vc.el,v 1.293 2001/01/08 16:23:33 spiegel Exp $
+;; $Id: vc.el,v 1.294 2001/01/10 14:42:53 spiegel Exp $
 
 ;; This file is part of GNU Emacs.
 
@@ -466,6 +466,18 @@
 (defvar diff-switches "-c"
   "*A string or list of strings specifying switches to be passed to diff.")
 
+(defcustom vc-diff-switches nil
+  "*A string or list of strings specifying switches for diff under VC.
+There is also an option vc-BACKEND-diff-switches for each BACKEND that
+VC can handle."
+  :type '(choice (const :tag "None" nil)
+		 (string :tag "Argument String")
+		 (repeat :tag "Argument List"
+			 :value ("")
+			 string))
+  :group 'vc
+  :version "21.1")
+
 ;;;###autoload
 (defcustom vc-checkin-hook nil
   "*Normal hook (list of functions) run after a checkin is done.
@@ -1751,6 +1763,9 @@
 		 (append (if (listp diff-switches)
 			     diff-switches
 			   (list diff-switches))
+                         (if (listp vc-diff-switches)
+                             vc-diff-switches
+                           (list vc-diff-switches))
 			 (list (file-relative-name file-rel1)
 			       (file-relative-name file-rel2))))
 	(cd (file-name-directory file))
@@ -1775,6 +1790,17 @@
 		      (shrink-window-if-larger-than-buffer)))
     t))
 
+(defmacro vc-diff-switches-list (backend)
+  "Make a list of `diff-switches', `vc-diff-switches', 
+and `vc-BACKEND-diff-switches'."
+  `(append 
+    (if (listp diff-switches) diff-switches (list diff-switches))
+    (if (listp vc-diff-switches) vc-diff-switches (list vc-diff-switches))
+    (let ((backend-switches 
+           (eval (intern (concat "vc-" (symbol-name ',backend) 
+                                 "-diff-switches")))))
+      (if (listp backend-switches) backend-switches (list backend-switches)))))
+
 ;;;###autoload
 (defun vc-version-other-window (rev)
   "Visit version REV of the current buffer in another window.