aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/vc.el
diff options
context:
space:
mode:
authorAndrĂ© Spiegel <[email protected]>2004-04-11 15:05:18 +0000
committerAndrĂ© Spiegel <[email protected]>2004-04-11 15:05:18 +0000
commit65f11a25b4ec49c438c3655523c85ba471096ab4 (patch)
treece84d3664e8a6d4c299e633c791d594308aee2cb /lisp/vc.el
parentf88363810a6ad1f22f275bcacda054d1c06294dc (diff)
(vc-print-log): Use condition-case to check for backward
compatibility.
Diffstat (limited to 'lisp/vc.el')
-rw-r--r--lisp/vc.el20
1 files changed, 15 insertions, 5 deletions
diff --git a/lisp/vc.el b/lisp/vc.el
index 5ef33045b3..801cf6d575 100644
--- a/lisp/vc.el
+++ b/lisp/vc.el
@@ -7,7 +7,7 @@
;; Maintainer: Andre Spiegel <[email protected]>
;; Keywords: tools
-;; $Id: vc.el,v 1.373 2004/03/26 16:17:12 monnier Exp $
+;; $Id: vc.el,v 1.374 2004/03/28 22:00:19 monnier Exp $
;; This file is part of GNU Emacs.
@@ -2348,13 +2348,23 @@ If FOCUS-REV is non-nil, leave the point at that revision."
;; Don't switch to the output buffer before running the command,
;; so that any buffer-local settings in the vc-controlled
;; buffer can be accessed by the command.
- (if (> (length (vc-arg-list (vc-backend file) 'print-log)) 1)
+ (condition-case err
(progn
(vc-call print-log file "*vc-change-log*")
(set-buffer "*vc-change-log*"))
- ;; for backward compatibility
- (vc-call print-log file)
- (set-buffer "*vc*"))
+ (wrong-number-of-arguments
+ ;; If this error came from the above call to print-log, try again
+ ;; without the optional buffer argument (for backward compatibility).
+ ;; Otherwise, resignal.
+ (if (or (not (eq (cadr err)
+ (indirect-function
+ (vc-find-backend-function (vc-backend file)
+ 'print-log))))
+ (not (eq (caddr err) 2)))
+ (signal wrong-number-of-arguments err)
+ ;; for backward compatibility
+ (vc-call print-log file)
+ (set-buffer "*vc*"))))
(pop-to-buffer (current-buffer))
(log-view-mode)
(vc-exec-after