203 |
(or (eq buffer-undo-list t) |
(or (eq buffer-undo-list t) |
204 |
(setq buffer-undo-list nil)) |
(setq buffer-undo-list nil)) |
205 |
;; We can not use save-excursion here. The buffer gets erased. |
;; We can not use save-excursion here. The buffer gets erased. |
206 |
(let ((ocol (current-column)) |
(let ((opoint (point)) |
207 |
|
(eobp (eobp)) |
208 |
|
(ocol (current-column)) |
209 |
(oline (progn (move-to-column 4) |
(oline (progn (move-to-column 4) |
210 |
(get-text-property (point) 'buffer))) |
(get-text-property (point) 'buffer))) |
211 |
(prop (point-min)) |
(prop (point-min)) |
212 |
;; do not make undo records for the reversion. |
;; do not make undo records for the reversion. |
213 |
(buffer-undo-list t)) |
(buffer-undo-list t)) |
214 |
(list-buffers-noselect Buffer-menu-files-only) |
(list-buffers-noselect Buffer-menu-files-only) |
215 |
(while (setq prop (next-single-property-change prop 'buffer)) |
(if oline |
216 |
(when (eq (get-text-property prop 'buffer) oline) |
(while (setq prop (next-single-property-change prop 'buffer)) |
217 |
(goto-char prop) |
(when (eq (get-text-property prop 'buffer) oline) |
218 |
(move-to-column ocol))))) |
(goto-char prop) |
219 |
|
(move-to-column ocol))) |
220 |
|
(goto-char (if eobp (point-max) opoint))))) |
221 |
|
|
222 |
(defun Buffer-menu-toggle-files-only (arg) |
(defun Buffer-menu-toggle-files-only (arg) |
223 |
"Toggle whether the current buffer-menu displays only file buffers. |
"Toggle whether the current buffer-menu displays only file buffers. |
637 |
(if (equal column Buffer-menu-sort-column) (setq column nil)) |
(if (equal column Buffer-menu-sort-column) (setq column nil)) |
638 |
(propertize name |
(propertize name |
639 |
'help-echo (if column |
'help-echo (if column |
640 |
(concat "mouse-2: sort by " (downcase name)) |
(if Buffer-menu-use-header-line |
641 |
"mouse-2: sort by visited order") |
(concat "mouse-2: sort by " (downcase name)) |
642 |
|
(concat "mouse-2, RET: sort by " |
643 |
|
(downcase name))) |
644 |
|
(if Buffer-menu-use-header-line |
645 |
|
"mouse-2: sort by visited order" |
646 |
|
"mouse-2, RET: sort by visited order")) |
647 |
'mouse-face 'highlight |
'mouse-face 'highlight |
648 |
'keymap (let ((map (make-sparse-keymap))) |
'keymap (let ((map (make-sparse-keymap))) |
649 |
(define-key map [header-line mouse-2] |
(if Buffer-menu-use-header-line |
650 |
`(lambda (e) |
(define-key map [header-line mouse-2] |
651 |
(interactive "e") |
`(lambda (e) |
652 |
(save-window-excursion |
(interactive "e") |
653 |
|
(save-window-excursion |
654 |
|
(if e (mouse-select-window e)) |
655 |
|
(Buffer-menu-sort ,column)))) |
656 |
|
(define-key map [mouse-2] |
657 |
|
`(lambda (e) |
658 |
|
(interactive "e") |
659 |
(if e (mouse-select-window e)) |
(if e (mouse-select-window e)) |
660 |
|
(Buffer-menu-sort ,column))) |
661 |
|
(define-key map "\C-m" |
662 |
|
`(lambda () (interactive) |
663 |
(Buffer-menu-sort ,column)))) |
(Buffer-menu-sort ,column)))) |
664 |
map))) |
map))) |
665 |
|
|