:group 'mode-line
:version "25.1")
-(defface vc-state-base-face
+(defface vc-state-base
'((default))
"Base face for VC state indicator."
:group 'vc-faces
:version "25.1")
(defface vc-up-to-date-state
- '((default :inherit vc-state-base-face))
+ '((default :inherit vc-state-base))
"Face for VC modeline state when the file is up to date."
:version "25.1"
:group 'vc-faces)
(defface vc-needs-update-state
- '((default :inherit vc-state-base-face))
+ '((default :inherit vc-state-base))
"Face for VC modeline state when the file needs update."
:version "25.1"
:group 'vc-faces)
(defface vc-locked-state
- '((default :inherit vc-state-base-face))
+ '((default :inherit vc-state-base))
"Face for VC modeline state when the file locked."
:version "25.1"
:group 'vc-faces)
(defface vc-locally-added-state
- '((default :inherit vc-state-base-face))
+ '((default :inherit vc-state-base))
"Face for VC modeline state when the file is locally added."
:version "25.1"
:group 'vc-faces)
(defface vc-conflict-state
- '((default :inherit vc-state-base-face))
+ '((default :inherit vc-state-base))
"Face for VC modeline state when the file contains merge conflicts."
:version "25.1"
:group 'vc-faces)
(defface vc-removed-state
- '((default :inherit vc-state-base-face))
+ '((default :inherit vc-state-base))
"Face for VC modeline state when the file was removed from the VC system."
:version "25.1"
:group 'vc-faces)
(defface vc-missing-state
- '((default :inherit vc-state-base-face))
+ '((default :inherit vc-state-base))
"Face for VC modeline state when the file is missing from the file system."
:version "25.1"
:group 'vc-faces)
(defface vc-edited-state
- '((default :inherit vc-state-base-face))
+ '((default :inherit vc-state-base))
"Face for VC modeline state when the file is edited."
:version "25.1"
:group 'vc-faces)
:group 'vc)
;; Note: we don't actually have a darcs back end yet.
-;; Also, Meta-CVS (corresponding to MCVS) and Arch are unsupported.
+;; Also, Arch is unsupported, and the Meta-CVS back end has been removed.
;; The Arch back end will be retrieved and fixed if it is ever required.
(defcustom vc-directory-exclusion-list (purecopy '("SCCS" "RCS" "CVS" "MCVS"
".src" ".svn" ".git" ".hg" ".bzr"
(not (memq property vc-touched-properties)))
(setq vc-touched-properties (append (list property)
vc-touched-properties)))
- (put (intern file vc-file-prop-obarray) property value))
+ (put (intern (expand-file-name file) vc-file-prop-obarray) property value))
(defun vc-file-getprop (file property)
"Get per-file VC PROPERTY for FILE."
- (get (intern file vc-file-prop-obarray) property))
+ (get (intern (expand-file-name file) vc-file-prop-obarray) property))
(defun vc-file-clearprops (file)
"Clear all VC properties of FILE."
(if (boundp 'vc-parent-buffer)
(kill-local-variable 'vc-parent-buffer))
- (setplist (intern file vc-file-prop-obarray) nil))
+ (setplist (intern (expand-file-name file) vc-file-prop-obarray) nil))
\f
;; We keep properties on each symbol naming a backend as follows:
`unregistered' The file is not under version control."
- ;; Note: in Emacs 22 and older, return of nil meant the file was
- ;; unregistered. This is potentially a source of
- ;; backward-compatibility bugs.
+ ;; Note: we usually return nil here for unregistered files anyway
+ ;; when called with only one argument. This doesn't seem to cause
+ ;; any problems. But if we wanted to change that, we should
+ ;; probably opt for redefining the `registered' command to return
+ ;; non-nil even for unregistered files (maybe also rename it), and
+ ;; then make sure that all `state' implementations handle
+ ;; unregistered file appropriately.
;; FIXME: New (sub)states needed (?):
;; - `copied' and `moved' (might be handled by `removed' and `added')
(or (vc-file-getprop file 'vc-state)
(when (> (length file) 0) ;Why?? --Stef
- (setq backend (or backend (vc-responsible-backend file)))
- (when backend
+ (setq backend (or backend (vc-backend file)))
+ (when backend
(vc-state-refresh file backend)))))
(defun vc-state-refresh (file backend)
If FILE is not registered, this function always returns nil."
(or (vc-file-getprop file 'vc-working-revision)
(progn
- (setq backend (or backend (vc-responsible-backend file)))
- (when backend
- (vc-file-setprop file 'vc-working-revision
- (vc-call-backend backend 'working-revision file))))))
+ (setq backend (or backend (vc-backend file)))
+ (when backend
+ (vc-file-setprop file 'vc-working-revision
+ (vc-call-backend
+ backend 'working-revision file))))))
;; Backward compatibility.
(define-obsolete-function-alias