comparison lisp/vc-arch.el @ 89978:566253900690

Revision: miles@gnu.org--gnu-2004/emacs--unicode--0--patch-40 Merge from emacs--cvs-trunk--0 Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-535 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-536 sync-tree with gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-537 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-538 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-539 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-540 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-541 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-542 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-545 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-546 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-547 - miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-548 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-549 Use symbol-matching for generic-mode keywords * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-550 Update from CVS * miles@gnu.org--gnu-2004/gnus--devo--0--patch-2 Add {arch}/=cvs-sync-make-log * miles@gnu.org--gnu-2004/gnus--rel--5.8--base-0 Import from Gnus CVS branch V5-8 * miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-1 {arch}/=tagging-method: Add CVS and autoconf grot to junk regexp * miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-2 Use explicit tags for autoconf input files * miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-3 Remove RCS keywords * miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-4 Fix copied explicit id-tags * miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-5 Add {arch}/=cvs-sync-make-log * miles@gnu.org--gnu-2004/gnus--rel--5.8--patch-6 configure.in: Use ifelse instead of m4_if for arch-tag: comment * miles@gnu.org--gnu-2004/gnus--rel--5.10--base-0 tag of miles@gnu.org--gnu-2004/gnus--rel--5.8--base-0 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-1 Gnus 5.10, from CVS branch v5-10 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-2 Merge from gnus--rel--5.8 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-3 Use explicit tags for autoconf input files * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-4 sync-tree with gnus--rel--5.8 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-5 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-6 Merge from gnus--rel--5.8 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-7 Remove RCS keywords * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-8 Merge from gnus--rel--5.8 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-9 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-10 Add {arch}/=cvs-sync-make-log * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-11 Merge from gnus--rel--5.8 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-12 Update from CVS: make.bat: Fix line endings around arch-tag. * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-13 - miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-17 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-21 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-22 Update from CVS: lisp/nndb.el (require): Remove tcp and duplicate cl. * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-23 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-24 lisp/nnimap.el (nnimap-open-connection): Remove extraneous end-paren * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-25 - miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-26 Update from CVS
author Miles Bader <miles@gnu.org>
date Wed, 15 Sep 2004 09:00:10 +0000
parents cce1c0ee76ee 7883de80034e
children f3ec05478165
comparison
equal deleted inserted replaced
89977:549fdd6f6856 89978:566253900690
71 ;; Clear up the cache to force vc-call to check again and discover 71 ;; Clear up the cache to force vc-call to check again and discover
72 ;; new functions when we reload this file. 72 ;; new functions when we reload this file.
73 (put 'Arch 'vc-functions nil) 73 (put 'Arch 'vc-functions nil)
74 74
75 ;;;###autoload (defun vc-arch-registered (file) 75 ;;;###autoload (defun vc-arch-registered (file)
76 ;;;###autoload (let ((dir file)) 76 ;;;###autoload (if (vc-find-root file "{arch}/=tagging-method")
77 ;;;###autoload (while (and (stringp dir) 77 ;;;###autoload (progn
78 ;;;###autoload (not (equal 78 ;;;###autoload (load "vc-arch")
79 ;;;###autoload dir (setq dir (file-name-directory dir)))) 79 ;;;###autoload (vc-arch-registered file))))
80 ;;;###autoload dir)
81 ;;;###autoload (setq dir (if (file-directory-p
82 ;;;###autoload (expand-file-name "{arch}" dir))
83 ;;;###autoload t (directory-file-name dir))))
84 ;;;###autoload (if (eq dir t)
85 ;;;###autoload (progn
86 ;;;###autoload (load "vc-arch")
87 ;;;###autoload (vc-arch-registered file)))))
88 80
89 (defun vc-arch-add-tagline () 81 (defun vc-arch-add-tagline ()
90 "Add an `arch-tag' to the end of the current file." 82 "Add an `arch-tag' to the end of the current file."
91 (interactive) 83 (interactive)
92 (comment-normalize-vars) 84 (comment-normalize-vars)
184 'names)))) 176 'names))))
185 177
186 (defun vc-arch-root (file) 178 (defun vc-arch-root (file)
187 "Return the root directory of a Arch project, if any." 179 "Return the root directory of a Arch project, if any."
188 (or (vc-file-getprop file 'arch-root) 180 (or (vc-file-getprop file 'arch-root)
189 (vc-file-setprop 181 (vc-file-setprop
190 file 'arch-root 182 ;; Check the =tagging-method, in case someone naively manually
191 (let ((root nil)) 183 ;; creates a {arch} directory somewhere.
192 (while (not (or root 184 file 'arch-root (vc-find-root file "{arch}/=tagging-method"))))
193 (equal file (setq file (file-name-directory file)))
194 (null file)))
195 ;; Check the =tagging-method, in case someone naively manually
196 ;; creates a {arch} directory somewhere.
197 (if (file-exists-p (expand-file-name "{arch}/=tagging-method" file))
198 (setq root file)
199 (setq file (directory-file-name file))))
200 root))))
201 185
202 (defun vc-arch-register (file &optional rev comment) 186 (defun vc-arch-register (file &optional rev comment)
203 (if rev (error "Explicit initial revision not supported for Arch")) 187 (if rev (error "Explicit initial revision not supported for Arch"))
204 (let ((tagmet (vc-arch-tagging-method file))) 188 (let ((tagmet (vc-arch-tagging-method file)))
205 (if (and (memq tagmet '(tagline implicit)) comment-start) 189 (if (and (memq tagmet '(tagline implicit)) comment-start)