Mercurial > emacs
diff lisp/vc-hooks.el @ 83085:c0e839b60d0b
Merged in changes from CVS HEAD
Patches applied:
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-173
Update from CVS
* miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-174
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-125
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sun, 28 Mar 2004 06:08:38 +0000 |
parents | 108bb5537c12 225341adbb0d |
children | efd88b526bdb |
line wrap: on
line diff
--- a/lisp/vc-hooks.el Fri Mar 26 04:35:08 2004 +0000 +++ b/lisp/vc-hooks.el Sun Mar 28 06:08:38 2004 +0000 @@ -6,7 +6,7 @@ ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel <spiegel@gnu.org> -;; $Id: vc-hooks.el,v 1.163 2004/03/23 20:59:19 monnier Exp $ +;; $Id: vc-hooks.el,v 1.164 2004/03/26 06:06:39 spiegel Exp $ ;; This file is part of GNU Emacs. @@ -267,6 +267,15 @@ ;; BEWARE!! `file' is evaluated twice!! `(vc-call-backend (vc-backend ,file) ',fun ,file ,@args)) +(defun vc-arg-list (backend fun) + "Return the argument list of BACKEND function FUN." + (let ((f (symbol-function (vc-find-backend-function backend fun)))) + (if (listp f) + ;; loaded from .el file + (cadr f) + ;; loaded from .elc file + (aref f 0)))) + (defsubst vc-parse-buffer (pattern i) "Find PATTERN in the current buffer and return its Ith submatch." @@ -463,15 +472,12 @@ (defun vc-default-workfile-unchanged-p (backend file) "Check if FILE is unchanged by diffing against the master version. Return non-nil if FILE is unchanged." - (let ((diff-args-length - (length (cadr (symbol-function - (vc-find-backend-function backend 'diff)))))) - (zerop (if (> diff-args-length 4) - ;; If the implementation supports it, let the output - ;; go to *vc*, not *vc-diff*, since this is an internal call. - (vc-call diff file nil nil "*vc*") - ;; for backward compatibility - (vc-call diff file))))) + (zerop (if (> (length (vc-arg-list backend 'diff)) 4) + ;; If the implementation supports it, let the output + ;; go to *vc*, not *vc-diff*, since this is an internal call. + (vc-call diff file nil nil "*vc*") + ;; for backward compatibility + (vc-call diff file)))) (defun vc-workfile-version (file) "Return the version level of the current workfile FILE.