*** empty log message ***
[bpt/emacs.git] / lisp / vc-rcs.el
index 0c29fd2..7eb3a7c 100644 (file)
@@ -1,11 +1,11 @@
 ;;; vc-rcs.el --- support for RCS version-control
 
-;; Copyright (C) 1992,93,94,95,96,97,98,99,2000  Free Software Foundation, Inc.
+;; Copyright (C) 1992,93,94,95,96,97,98,99,2000,2001  Free Software Foundation, Inc.
 
 ;; Author:     FSF (see vc.el for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
 
-;; $Id: vc-rcs.el,v 1.14 2000/11/20 14:14:25 spiegel Exp $
+;; $Id: vc-rcs.el,v 1.18 2001/02/01 17:42:03 fx Exp $
 
 ;; This file is part of GNU Emacs.
 
@@ -33,7 +33,8 @@
 ;;;
 
 (eval-when-compile
-  (require 'cl))
+  (require 'cl)
+  (require 'vc))
 
 (defcustom vc-rcs-release nil
   "*The release number of your RCS installation, as a string.
@@ -77,9 +78,19 @@ These are passed to the checkout program by \\[vc-rcs-checkout]."
   :version "21.1"
   :group 'vc)
 
+(defcustom vc-rcs-diff-switches nil
+  "*A string or list of strings specifying extra switches for rcsdiff under VC."
+  :type '(choice (const :tag "None" nil)
+                (string :tag "Argument String")
+                (repeat :tag "Argument List"
+                        :value ("")
+                        string))
+  :version "21.1"
+  :group 'vc)
+
 (defcustom vc-rcs-header (or (cdr (assoc 'RCS vc-header-alist)) '("\$Id\$"))
   "*Header keywords to be inserted by `vc-insert-headers'."
-  :type 'string
+  :type '(repeat string)
   :version "21.1"
   :group 'vc)
 
@@ -498,7 +509,7 @@ Needs RCS 5.6.2 or later for -M."
 
 (defun vc-rcs-print-log (file)
   "Get change log associated with FILE."
-  (vc-do-command t 0 "rlog" (vc-name file)))
+  (vc-do-command nil 0 "rlog" (vc-name file)))
 
 (defun vc-rcs-show-log-entry (version)
   (when (re-search-forward
@@ -534,15 +545,11 @@ Needs RCS 5.6.2 or later for -M."
 (defun vc-rcs-diff (file &optional oldvers newvers)
   "Get a difference report using RCS between two versions of FILE."
   (if (not oldvers) (setq oldvers (vc-workfile-version file)))
-  ;; If we know that --brief is not supported, don't try it.
-  (let* ((diff-switches-list (if (listp diff-switches)
-                                diff-switches
-                              (list diff-switches)))
-        (options (append (list "-q"
-                               (concat "-r" oldvers)
-                               (and newvers (concat "-r" newvers)))
-                         diff-switches-list)))
-    (apply 'vc-do-command t 1 "rcsdiff" file options)))
+  (apply 'vc-do-command "*vc-diff*" 1 "rcsdiff" file
+         (append (list "-q"
+                       (concat "-r" oldvers)
+                       (and newvers (concat "-r" newvers)))
+                 (vc-diff-switches-list rcs))))
 
 \f
 ;;;