1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-28 19:42:02 +00:00

Renove duplicate code.

This commit is contained in:
Eric S. Raymond 2014-12-01 07:39:15 -05:00
parent 9e9e3432fa
commit 2532d74a5f

View File

@ -81,38 +81,4 @@ If the file is not registered, or the master name is not known, return nil."
(vc-file-setprop file 'vc-name result)
nil)))) ; Not registered
(defun vc-check-master-templates (file templates)
"Return non-nil if there is a master corresponding to FILE.
TEMPLATES is a list of strings or functions. If an element is a
string, it must be a control string as required by `format', with two
string placeholders, such as \"%sRCS/%s,v\". The directory part of
FILE is substituted for the first placeholder, the basename of FILE
for the second. If a file with the resulting name exists, it is taken
as the master of FILE, and returned.
If an element of TEMPLATES is a function, it is called with the
directory part and the basename of FILE as arguments. It should
return non-nil if it finds a master; that value is then returned by
this function."
(let ((dirname (or (file-name-directory file) ""))
(basename (file-name-nondirectory file)))
(catch 'found
(mapcar
(lambda (s)
(let ((trial (vc-possible-master s dirname basename)))
(when (and trial (file-exists-p trial)
;; Make sure the file we found with name
;; TRIAL is not the source file itself.
;; That can happen with RCS-style names if
;; the file name is truncated (e.g. to 14
;; chars). See if either directory or
;; attributes differ.
(or (not (string= dirname
(file-name-directory trial)))
(not (equal (file-attributes file)
(file-attributes trial)))))
(throw 'found trial))))
templates))))
(provide 'vc-filewise)