]> code.delx.au - gnu-emacs/commitdiff
(vc-dir-find-file-other-window): Allow mouse events.
authorNick Roberts <nickrob@snap.net.nz>
Tue, 10 Feb 2009 05:51:47 +0000 (05:51 +0000)
committerNick Roberts <nickrob@snap.net.nz>
Tue, 10 Feb 2009 05:51:47 +0000 (05:51 +0000)
(vc-dir-mouse-map): New keymap.
(vc-default-dir-printer): Use it locally.

lisp/vc-dir.el

index 1f91ff4d3796a02f49bd5e0608c33d2a0e51ab92..81be5f10cd128d42ed0d44ec124fe1730ed4fece 100644 (file)
@@ -689,9 +689,10 @@ that share the same state."
   (interactive)
   (find-file (vc-dir-current-file)))
 
-(defun vc-dir-find-file-other-window ()
+(defun vc-dir-find-file-other-window (&optional event)
   "Find the file on the current line, in another window."
-  (interactive)
+  (interactive (list last-nonmenu-event))
+  (if event (posn-set-point (event-end event)))
   (find-file-other-window (vc-dir-current-file)))
 
 (defun vc-dir-isearch ()
@@ -1145,6 +1146,12 @@ Interactively, a prefix argument means to ask for the backend."
    (propertize "Please add backend specific headers here.  It's easy!"
               'face 'font-lock-warning-face)))
 
+(defvar vc-dir-mouse-map
+   (let ((map (make-sparse-keymap)))
+     (define-key map [mouse-2] 'vc-dir-find-file-other-window)
+    map)
+  "Local keymap for visiting a file.")
+
 (defun vc-default-dir-printer (backend fileentry)
   "Pretty print FILEENTRY."
   ;; If you change the layout here, change vc-dir-move-to-goal-column.
@@ -1171,7 +1178,8 @@ Interactively, a prefix argument means to ask for the backend."
       (if isdir
          "Directory\nVC operations can be applied to it\nmouse-3: Pop-up menu"
        "File\nmouse-3: Pop-up menu")
-      'mouse-face 'highlight))))
+      'mouse-face 'highlight
+      'keymap vc-dir-mouse-map))))
 
 (defun vc-default-extra-status-menu (backend)
   nil)