From: Richard M. Stallman Date: Fri, 16 Jun 1995 18:04:47 +0000 (+0000) Subject: (vc-backend-dispatch): Move definition before first use. X-Git-Tag: emacs-19.34~3579 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d7eff0e04e9a07e7fa8e6534ccb3a75cd51e6f2a;p=emacs.git (vc-backend-dispatch): Move definition before first use. --- diff --git a/lisp/vc.el b/lisp/vc.el index 64492b63e4f..4c631a3532f 100644 --- a/lisp/vc.el +++ b/lisp/vc.el @@ -75,6 +75,23 @@ (cons '(vc-parent-buffer vc-parent-buffer-name) minor-mode-alist))) +;; To implement support for a new version-control system, add another +;; branch to the vc-backend-dispatch macro and fill it in in each +;; call. The variable vc-master-templates in vc-hooks.el will also +;; have to change. + +(defmacro vc-backend-dispatch (f s r c) + "Execute FORM1, FORM2 or FORM3 for SCCS, RCS or CVS respectively. +If FORM3 is `RCS', use FORM2 for CVS as well as RCS. +\(CVS shares some code with RCS)." + (list 'let (list (list 'type (list 'vc-backend f))) + (list 'cond + (list (list 'eq 'type (quote 'SCCS)) s) ;; SCCS + (list (list 'eq 'type (quote 'RCS)) r) ;; RCS + (list (list 'eq 'type (quote 'CVS)) ;; CVS + (if (eq c 'RCS) r c)) + ))) + ;; General customization (defvar vc-suppress-confirm nil @@ -299,23 +316,6 @@ the master name of FILE if LAST is 'MASTER, or the workfile of FILE if LAST is status) ) -;; Everything eventually funnels through these functions. To implement -;; support for a new version-control system, add another branch to the -;; vc-backend-dispatch macro and fill it in in each call. The variable -;; vc-master-templates in vc-hooks.el will also have to change. - -(defmacro vc-backend-dispatch (f s r c) - "Execute FORM1, FORM2 or FORM3 depending whether we're using SCCS, RCS or CVS. -If FORM3 is RCS, use FORM2 even if we are using CVS. (CVS shares some code -with RCS)." - (list 'let (list (list 'type (list 'vc-backend f))) - (list 'cond - (list (list 'eq 'type (quote 'SCCS)) s) ;; SCCS - (list (list 'eq 'type (quote 'RCS)) r) ;; RCS - (list (list 'eq 'type (quote 'CVS)) ;; CVS - (if (eq c 'RCS) r c)) - ))) - ;;; Save a bit of the text around POSN in the current buffer, to help ;;; us find the corresponding position again later. This works even ;;; if all markers are destroyed or corrupted.