* lisp/buff-menu.el: Convert to Tabulated List mode.
(Buffer-menu-buffer+size-width): Make obsolete. (Buffer-menu-name-width, Buffer-menu-size-width): New variables. (Buffer-menu-mode-map): Inherit from tabulated-list-mode-map. (Buffer-menu-mode): Derive from tabulated-list-mode. Move command documentation into docstring of buffer-menu. (Buffer-menu-toggle-files-only): Add an informative message. (Buffer-menu-sort): Convert to alias for tabulated-list-sort. (Buffer-menu-buffer, Buffer-menu-beginning, Buffer-menu-mark) (Buffer-menu-unmark, Buffer-menu-backup-unmark) (Buffer-menu-delete, Buffer-menu-save, Buffer-menu-not-modified) (Buffer-menu-execute, Buffer-menu-select) (Buffer-menu-marked-buffers, Buffer-menu-toggle-read-only) (Buffer-menu-bury): Use Tabulated List machinery. (Buffer-menu-mouse-select, Buffer-menu-sort-by-column) (Buffer-menu-sort-button-map, Buffer-menu-make-sort-button): Deleted. (list-buffers--refresh): New function. (list-buffers-noselect): Use it. (tabulated-list-entry-size->, Buffer-menu--pretty-name) (Buffer-menu--pretty-file-name): New helper functions. * lisp/loadup.el: Preload tabulated-list. * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Rename from tabulated-list-sort-column. (tabulated-list-init-header): Add the initial aligning space even if tabulated-list-padding is zero. * src/lisp.mk (lisp): Update.
This commit is contained in:
parent
e129292c44
commit
e5f9458fe8
8 changed files with 370 additions and 642 deletions
|
@ -144,7 +144,7 @@ If ADVANCE is non-nil, move forward by one line afterwards."
|
|||
(set-keymap-parent map button-buffer-map)
|
||||
(define-key map "n" 'next-line)
|
||||
(define-key map "p" 'previous-line)
|
||||
(define-key map "S" 'tabulated-list-sort-column)
|
||||
(define-key map "S" 'tabulated-list-sort)
|
||||
(define-key map [follow-link] 'mouse-face)
|
||||
(define-key map [mouse-2] 'mouse-select-window)
|
||||
map)
|
||||
|
@ -174,8 +174,7 @@ If ADVANCE is non-nil, move forward by one line afterwards."
|
|||
mouse-face highlight
|
||||
keymap ,tabulated-list-sort-button-map))
|
||||
(cols nil))
|
||||
(if (> tabulated-list-padding 0)
|
||||
(push (propertize " " 'display `(space :align-to ,x)) cols))
|
||||
(push (propertize " " 'display `(space :align-to ,x)) cols)
|
||||
(dotimes (n (length tabulated-list-format))
|
||||
(let* ((col (aref tabulated-list-format n))
|
||||
(label (nth 0 col))
|
||||
|
@ -183,9 +182,6 @@ If ADVANCE is non-nil, move forward by one line afterwards."
|
|||
(props (nthcdr 3 col))
|
||||
(pad-right (or (plist-get props :pad-right) 1)))
|
||||
(setq x (+ x pad-right width))
|
||||
(and (<= tabulated-list-padding 0)
|
||||
(= n 0)
|
||||
(setq label (concat " " label)))
|
||||
(push
|
||||
(cond
|
||||
;; An unsortable column
|
||||
|
@ -402,7 +398,7 @@ this is the vector stored within it."
|
|||
(with-current-buffer (window-buffer (posn-window pos))
|
||||
(tabulated-list--sort-by-column-name name))))
|
||||
|
||||
(defun tabulated-list-sort-column (&optional n)
|
||||
(defun tabulated-list-sort (&optional n)
|
||||
"Sort Tabulated List entries by the column at point.
|
||||
With a numeric prefix argument N, sort the Nth column."
|
||||
(interactive "P")
|
||||
|
@ -424,7 +420,6 @@ With a numeric prefix argument N, sort the Nth column."
|
|||
|
||||
;;; The mode definition:
|
||||
|
||||
;;;###autoload
|
||||
(define-derived-mode tabulated-list-mode special-mode "Tabulated"
|
||||
"Generic major mode for browsing a list of items.
|
||||
This mode is usually not used directly; instead, other major
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue