aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2012-05-12 23:04:11 +0800
committerChong Yidong2012-05-12 23:04:11 +0800
commit0d90978655eb1fec42c817394a1da3ebd1903e1d (patch)
tree1525ff0193d0d015c7606cdfb1d1f7a70e72bfae
parentac59c2f6d19570a52481b168238749bab9038d77 (diff)
downloademacs-0d90978655eb1fec42c817394a1da3ebd1903e1d.tar.gz
emacs-0d90978655eb1fec42c817394a1da3ebd1903e1d.zip
Fix mouse links in new Buffer Menu.
* buff-menu.el (Buffer-menu-mouse-select): Restore function. (Buffer-menu-mode-map): Bind it. (Buffer-menu--pretty-name): Add a mouse-face property. Fixes: debbugs:11459
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/buff-menu.el18
2 files changed, 20 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b0122c9c064..26c4a492fb6 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,6 +1,9 @@
12012-05-12 Chong Yidong <cyd@gnu.org> 12012-05-12 Chong Yidong <cyd@gnu.org>
2 2
3 * buff-menu.el (Buffer-menu-buffer+size-width): Doc fix (Bug#11454). 3 * buff-menu.el (Buffer-menu-buffer+size-width): Doc fix (Bug#11454).
4 (Buffer-menu-mouse-select): Restore function (Bug#11459).
5 (Buffer-menu-mode-map): Bind it.
6 (Buffer-menu--pretty-name): Add a mouse-face property.
4 7
52012-05-11 Stefan Monnier <monnier@iro.umontreal.ca> 82012-05-11 Stefan Monnier <monnier@iro.umontreal.ca>
6 9
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index cbd786bda61..0ecbba09254 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -130,6 +130,9 @@ commands.")
130 (define-key map (kbd "M-s a C-s") 'Buffer-menu-isearch-buffers) 130 (define-key map (kbd "M-s a C-s") 'Buffer-menu-isearch-buffers)
131 (define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp) 131 (define-key map (kbd "M-s a M-C-s") 'Buffer-menu-isearch-buffers-regexp)
132 132
133 (define-key map [mouse-2] 'Buffer-menu-mouse-select)
134 (define-key map [follow-link] 'mouse-face)
135
133 (define-key map [menu-bar Buffer-menu-mode] (cons (purecopy "Buffer-Menu") menu-map)) 136 (define-key map [menu-bar Buffer-menu-mode] (cons (purecopy "Buffer-Menu") menu-map))
134 (define-key menu-map [quit] 137 (define-key menu-map [quit]
135 `(menu-item ,(purecopy "Quit") quit-window 138 `(menu-item ,(purecopy "Quit") quit-window
@@ -565,6 +568,17 @@ means list those buffers and no others."
565 (tabulated-list-print)) 568 (tabulated-list-print))
566 buffer)) 569 buffer))
567 570
571(defun Buffer-menu-mouse-select (event)
572 "Select the buffer whose line you click on."
573 (interactive "e")
574 (select-window (posn-window (event-end event)))
575 (let ((buffer (tabulated-list-get-id (posn-point (event-end event)))))
576 (when (buffer-live-p buffer)
577 (if (and (window-dedicated-p (selected-window))
578 (eq (selected-window) (frame-root-window)))
579 (switch-to-buffer-other-frame buffer)
580 (switch-to-buffer buffer)))))
581
568(defun list-buffers--refresh (&optional buffer-list old-buffer) 582(defun list-buffers--refresh (&optional buffer-list old-buffer)
569 ;; Set up `tabulated-list-format'. 583 ;; Set up `tabulated-list-format'.
570 (let ((name-width Buffer-menu-name-width) 584 (let ((name-width Buffer-menu-name-width)
@@ -617,7 +631,9 @@ means list those buffers and no others."
617 (string-to-number (aref (cadr entry2) 4)))) 631 (string-to-number (aref (cadr entry2) 4))))
618 632
619(defun Buffer-menu--pretty-name (name) 633(defun Buffer-menu--pretty-name (name)
620 (propertize name 'font-lock-face 'buffer-menu-buffer)) 634 (propertize name
635 'font-lock-face 'buffer-menu-buffer
636 'mouse-face 'highlight))
621 637
622(defun Buffer-menu--pretty-file-name (file) 638(defun Buffer-menu--pretty-file-name (file)
623 (cond (file 639 (cond (file