635 |
|
|
636 |
(defun Buffer-menu-make-sort-button (name column) |
(defun Buffer-menu-make-sort-button (name column) |
637 |
(if (equal column Buffer-menu-sort-column) (setq column nil)) |
(if (equal column Buffer-menu-sort-column) (setq column nil)) |
638 |
(propertize name |
(let* ((downname (downcase name)) |
639 |
'help-echo (if column |
(map (make-sparse-keymap)) |
640 |
(if Buffer-menu-use-header-line |
(fun `(lambda (&optional e) |
641 |
(concat "mouse-1, mouse-2: sort by " |
,(concat "Sort the buffer menu by " downname ".") |
642 |
(downcase name)) |
(interactive (list last-input-event)) |
643 |
(concat "mouse-2, RET: sort by " |
(if e (mouse-select-window e)) |
644 |
(downcase name))) |
(Buffer-menu-sort ,column))) |
645 |
(if Buffer-menu-use-header-line |
(sym (intern (format "Buffer-menu-sort-by-%s-%s" name column)))) |
646 |
"mouse-1, mouse-2: sort by visited order" |
;; Use a symbol rather than an anonymous function, to make the output of |
647 |
"mouse-2, RET: sort by visited order")) |
;; C-h k less intimidating. |
648 |
'mouse-face 'highlight |
(fset sym fun) |
649 |
'keymap (let ((map (make-sparse-keymap)) |
(setq fun sym) |
650 |
(fun `(lambda (e) |
;; This keymap handles both nil and non-nil |
651 |
(interactive "e") |
;; values for Buffer-menu-use-header-line. |
652 |
(if e (mouse-select-window e)) |
(define-key map [header-line mouse-1] fun) |
653 |
(Buffer-menu-sort ,column)))) |
(define-key map [header-line mouse-2] fun) |
654 |
;; This keymap handles both nil and non-nil |
(define-key map [mouse-2] fun) |
655 |
;; values for Buffer-menu-use-header-line. |
(define-key map [follow-link] 'mouse-face) |
656 |
(define-key map [header-line mouse-1] fun) |
(define-key map "\C-m" fun) |
657 |
(define-key map [header-line mouse-2] fun) |
(propertize name |
658 |
(define-key map [mouse-2] fun) |
'help-echo (concat |
659 |
(define-key map [follow-link] 'mouse-face) |
(if Buffer-menu-use-header-line |
660 |
(define-key map "\C-m" |
"mouse-1, mouse-2: sort by " |
661 |
`(lambda () (interactive) |
"mouse-2, RET: sort by ") |
662 |
(Buffer-menu-sort ,column))) |
;; No clue what this is for, but I preserved the |
663 |
map))) |
;; behavior, just in case. --Stef |
664 |
|
(if column downname "visited order")) |
665 |
|
'mouse-face 'highlight |
666 |
|
'keymap map))) |
667 |
|
|
668 |
(defun list-buffers-noselect (&optional files-only buffer-list) |
(defun list-buffers-noselect (&optional files-only buffer-list) |
669 |
"Create and return a buffer with a list of names of existing buffers. |
"Create and return a buffer with a list of names of existing buffers. |