# HG changeset patch # User Richard M. Stallman # Date 803325887 0 # Node ID b33cc6583bb99a9024a056c022bc136b224f4dc5 # Parent de2a82180af0158d221f98922898f1c3355ada8a (vc-backend-dispatch): Move definition before first use. diff -r de2a82180af0 -r b33cc6583bb9 lisp/vc.el --- a/lisp/vc.el Fri Jun 16 18:02:51 1995 +0000 +++ b/lisp/vc.el Fri Jun 16 18:04:47 1995 +0000 @@ -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 @@ 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.