diff options
| author | Chong Yidong | 2012-05-12 23:04:11 +0800 |
|---|---|---|
| committer | Chong Yidong | 2012-05-12 23:04:11 +0800 |
| commit | 0d90978655eb1fec42c817394a1da3ebd1903e1d (patch) | |
| tree | 1525ff0193d0d015c7606cdfb1d1f7a70e72bfae | |
| parent | ac59c2f6d19570a52481b168238749bab9038d77 (diff) | |
| download | emacs-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/ChangeLog | 3 | ||||
| -rw-r--r-- | lisp/buff-menu.el | 18 |
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 @@ | |||
| 1 | 2012-05-12 Chong Yidong <cyd@gnu.org> | 1 | 2012-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 | ||
| 5 | 2012-05-11 Stefan Monnier <monnier@iro.umontreal.ca> | 8 | 2012-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 |