aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2007-07-23 21:07:03 +0000
committerStefan Monnier <[email protected]>2007-07-23 21:07:03 +0000
commit5719a0989e2cc1e155a1d0ef499aa3d84ad102ec (patch)
tree09355412d1416e6c7f4a0146418068da59f821ba
parentf09ff28afcea079e8f8e6909e095dddebb0e4a4b (diff)
(vc-mode-line-map): New const.
(vc-mode-line): Use it.
-rw-r--r--lisp/ChangeLog14
-rw-r--r--lisp/vc-hooks.el43
2 files changed, 32 insertions, 25 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7e3b2f3cbf..957c05fba4 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2007-07-23 Stefan Monnier <[email protected]>
+
+ * vc-hooks.el (vc-mode-line-map): New const.
+ (vc-mode-line): Use it.
+
2007-07-23 Alexandre Julliard <[email protected]>
* vc-git.el (vc-git-delete-file, vc-git-rename-file)
@@ -39,7 +44,8 @@
2007-07-23 Stefan Monnier <[email protected]>
- * emacs-lisp/copyright.el (copyright-update-year): Fix 2007-05-25 change.
+ * emacs-lisp/copyright.el (copyright-update-year): Fix 2007-05-25
+ change by reverting a small part.
2007-07-23 Richard Stallman <[email protected]>
@@ -59,9 +65,9 @@
2007-07-20 Kenichi Handa <[email protected]>
- * international/utf-8.el (utf-8-post-read-conversion): Temporarily
- bind utf-8-compose-scripts to nil while running *-compose-region
- functions.
+ * international/utf-8.el (utf-8-post-read-conversion):
+ Temporarily bind utf-8-compose-scripts to nil while running
+ *-compose-region functions.
2007-07-23 Dan Nicolaescu <[email protected]>
diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el
index 2d3a0886c2..1029e745cd 100644
--- a/lisp/vc-hooks.el
+++ b/lisp/vc-hooks.el
@@ -716,34 +716,35 @@ Before doing that, check if there are any old backups and get rid of them."
;; any VC Dired buffer to synchronize.
(vc-dired-resynch-file file)))))
+(defconst vc-mode-line-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map [mode-line down-mouse-1] 'vc-menu-map)
+ map))
+
(defun vc-mode-line (file)
"Set `vc-mode' to display type of version control for FILE.
The value is set in the current buffer, which should be the buffer
visiting FILE."
(interactive (list buffer-file-name))
- (let ((backend (vc-backend file))
- ml-string ml-echo)
+ (let ((backend (vc-backend file)))
(if (not backend)
(setq vc-mode nil)
- (setq ml-string (vc-call mode-line-string file))
- (setq ml-echo (get-text-property 0 'help-echo ml-string))
- (setq vc-mode
- (concat
- " "
- (if vc-display-status
- (propertize
- ml-string
- 'mouse-face 'mode-line-highlight
- 'help-echo
- (concat (if ml-echo
- ml-echo
- (format "File under the %s version control system"
- backend))
- "\nmouse-1: Version Control menu")
- 'local-map (let ((map (make-sparse-keymap)))
- (define-key map [mode-line down-mouse-1]
- 'vc-menu-map) map))
- (symbol-name backend))))
+ (let* ((ml-string (vc-call 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)))))
;; If the file is locked by some other user, make
;; the buffer read-only. Like this, even root
;; cannot modify a file that someone else has locked.