summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/menu-bar.el1
-rw-r--r--lisp/vc-hooks.el30
3 files changed, 30 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 07bdcb37dbc..2bf592f7acd 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,12 @@
+2007-07-11 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * vc-hooks.el (vc-default-mode-line-string): Add a mouse face,
+ mouse binding and a tooltip.
+
+2007-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * menu-bar.el (vc-menu-map): New defalias.
+
2007-07-10 Jim Meyering <jim@meyering.net> (tiny change)
* emacs-lisp/copyright.el (copyright-current-gpl-version): Set to 3.
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 7ad91dffa9f..5fae6382e28 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1161,6 +1161,7 @@ mail status in mode line"))
'("--"))
(defvar vc-menu-map (make-sparse-keymap "Version Control"))
+(defalias 'vc-menu-map vc-menu-map)
(define-key menu-bar-tools-menu [pcl-cvs]
'(menu-item "PCL-CVS" cvs-global-menu))
(define-key menu-bar-tools-menu [vc]
diff --git a/lisp/vc-hooks.el b/lisp/vc-hooks.el
index 89d271431fa..6ab95b333c6 100644
--- a/lisp/vc-hooks.el
+++ b/lisp/vc-hooks.el
@@ -742,17 +742,27 @@ Format:
This function assumes that the file is registered."
(setq backend (symbol-name backend))
(let ((state (vc-state file))
+ (state-echo nil)
(rev (vc-workfile-version file)))
- (cond ((or (eq state 'up-to-date)
- (eq state 'needs-patch))
- (concat backend "-" rev))
- ((stringp state)
- (concat backend ":" state ":" rev))
- (t
- ;; Not just for the 'edited state, but also a fallback
- ;; for all other states. Think about different symbols
- ;; for 'needs-patch and 'needs-merge.
- (concat backend ":" rev)))))
+ (propertize
+ (cond ((or (eq state 'up-to-date)
+ (eq state 'needs-patch))
+ (setq state-echo "Up to date file")
+ (concat backend "-" rev))
+ ((stringp state)
+ (setq state-echo (concat "File locked by" state))
+ (concat backend ":" state ":" rev))
+ (t
+ ;; Not just for the 'edited state, but also a fallback
+ ;; for all other states. Think about different symbols
+ ;; for 'needs-patch and 'needs-merge.
+ (setq state-echo "Edited file")
+ (concat backend ":" rev)))
+ 'mouse-face 'mode-line-highlight
+ 'local-map (let ((map (make-sparse-keymap)))
+ (define-key map [mode-line down-mouse-1] 'vc-menu-map) map)
+ 'help-echo (concat state-echo " under the " backend
+ " version control system\nmouse-1: VC Menu"))))
(defun vc-follow-link ()
"If current buffer visits a symbolic link, visit the real file.