diff options
author | André Spiegel <spiegel@gnu.org> | 2004-04-11 15:05:18 +0000 |
---|---|---|
committer | André Spiegel <spiegel@gnu.org> | 2004-04-11 15:05:18 +0000 |
commit | 65f11a25b4ec49c438c3655523c85ba471096ab4 (patch) | |
tree | ce84d3664e8a6d4c299e633c791d594308aee2cb /lisp/vc.el | |
parent | f88363810a6ad1f22f275bcacda054d1c06294dc (diff) | |
download | emacs-65f11a25b4ec49c438c3655523c85ba471096ab4.tar.gz |
(vc-print-log): Use condition-case to check for backward
compatibility.
Diffstat (limited to 'lisp/vc.el')
-rw-r--r-- | lisp/vc.el | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/lisp/vc.el b/lisp/vc.el index 5ef33045b32..801cf6d5759 100644 --- a/lisp/vc.el +++ b/lisp/vc.el @@ -7,7 +7,7 @@ ;; Maintainer: Andre Spiegel <spiegel@gnu.org> ;; 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 |