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:
parent
9e9e3432fa
commit
2532d74a5f
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user