summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Moreton <andrewjmoreton@gmail.com>2018-07-20 17:45:09 +0100
committerEli Zaretskii <eliz@gnu.org>2018-08-11 13:04:06 +0300
commit914b0300bcca8ac016b85df54ed36c98d07c74a7 (patch)
tree1a0b552c5073e6a3c0f2c10340b3de29edcf6704
parenteefa51689cc9f33942ae58f34397aa9f71d7243c (diff)
downloademacs-914b0300bcca8ac016b85df54ed36c98d07c74a7.tar.gz
Avoid calling vc backend if 'vc-display-status' is nil
* lisp/vc/vc-hooks.el (vc-mode-line): Avoid calling VC backend if 'vc-display-status' is nil. (Bug#32225)
-rw-r--r--lisp/vc/vc-hooks.el30
1 files changed, 16 insertions, 14 deletions
diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el
index 55c0132bf2b..f1b622b54a9 100644
--- a/lisp/vc/vc-hooks.el
+++ b/lisp/vc/vc-hooks.el
@@ -692,24 +692,26 @@ visiting FILE.
If BACKEND is passed use it as the VC backend when computing the result."
(interactive (list buffer-file-name))
(setq backend (or backend (vc-backend file)))
- (if (not backend)
- (setq vc-mode nil)
+ (cond
+ ((not backend)
+ (setq vc-mode nil))
+ ((null vc-display-status)
+ (setq vc-mode (concat " " (symbol-name backend))))
+ (t
(let* ((ml-string (vc-call-backend backend 'mode-line-string file))
(ml-echo (get-text-property 0 'help-echo ml-string)))
(setq vc-mode
(concat
" "
- (if (null vc-display-status)
- (symbol-name backend)
- (propertize
- ml-string
- 'mouse-face 'mode-line-highlight
- 'help-echo
- (concat (or ml-echo
- (format "File under the %s version control system"
- backend))
- "\nmouse-1: Version Control menu")
- 'local-map vc-mode-line-map)))))
+ (propertize
+ ml-string
+ 'mouse-face 'mode-line-highlight
+ 'help-echo
+ (concat (or ml-echo
+ (format "File under the %s version control system"
+ backend))
+ "\nmouse-1: Version Control menu")
+ 'local-map vc-mode-line-map))))
;; If the user is root, and the file is not owner-writable,
;; then pretend that we can't write it
;; even though we can (because root can write anything).
@@ -718,7 +720,7 @@ If BACKEND is passed use it as the VC backend when computing the result."
(not buffer-read-only)
(zerop (user-real-uid))
(zerop (logand (file-modes buffer-file-name) 128))
- (setq buffer-read-only t)))
+ (setq buffer-read-only t))))
(force-mode-line-update)
backend)