diff lisp/vc.el @ 83096:eb7e8d483840

Merged in changes from CVS trunk Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-200 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-201 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-202 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-203 Add entry for macroexpand-all to NEWS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-204 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-205 Add macroexpand-all to lisp reference manual * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-206 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-207 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-208 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-209 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-210 More RCS keyword removal * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-211 File-permission tweaks * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-212 Checkout from CVS with unexpanded RCS keywords git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-136
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 13 Apr 2004 17:17:13 +0000
parents 7f60e040ccfc 494d96bf5f98
children 9cb7ecf775c9
line wrap: on
line diff
--- a/lisp/vc.el	Tue Apr 13 17:12:30 2004 +0000
+++ b/lisp/vc.el	Tue Apr 13 17:17:13 2004 +0000
@@ -7,7 +7,7 @@
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
 ;; Keywords: tools
 
-;; $Id: vc.el,v 1.374 2004/03/28 22:00:19 monnier Exp $
+;; $Id$
 
 ;; This file is part of GNU Emacs.
 
@@ -2348,13 +2348,23 @@
     ;; 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