Homepage: https://www.emacswiki.org/emacs/download/buff-menu%2b.el
Author: Drew Adams
Updated:
Extensions to `buff-menu.el'
Extensions to `buff-menu.el', including: new bindings, faces,
and menus; selective column display; and directional column
sorting.
NOTE: Emacs Dev rewrote `buff-menu.el' for Emacs 24.2, so that
it uses `tabulated-list-mode'. I have not yet updated
`buff-menu+.el' to accommodate this vanilla rewrite, and I
do not know when I might get around to doing that.
If you want to use `buff-menu+.el' with Emacs 24.2 or
later, then you can download the Emacs 23 or Emacs 24.1
version of `buff-menu.el' and put that in your `load-path'
in such a way that it shadows the Emacs 24.2+ version.
You can get the Emacs 23.4 version here, for instance
(combine the URL into a single line):
http://bzr.savannah.gnu.org/lh/emacs/emacs-23/download/
head:/buffmenu.el-20091113204419-o5vbwnq5f7feedwu-197/buff-menu.el
Sorry for the inconvenience.
Note: By default, the buffer menu is shown in a different
window. If you prefer to show it in the current window,
then just do this:
(add-to-list 'same-window-buffer-names "*Buffer List*")
Faces defined here:
`buffer-menu-headings', `buffer-menu-current-buffer',
`buffer-menu-directory-buffer', `buffer-menu-flagged-buffer',
`buffer-menu-marked-buffer', `buffer-menu-star-buffer',
`buffer-menu-view-mark', `buffer-menu-delete-mark',
`buffer-menu-save-mark', `buffer-menu-modified-mark',
`buffer-menu-read-only-mark', `buffer-menu-buffer-name',
`buffer-menu-mode', `buffer-menu-size', `buffer-menu-time',
`buffer-menu-file-name'.
User options defined here (Emacs 22+):
`Buffer-menu-file-flag', `Buffer-menu-mode-flag',
`Buffer-menu-time-flag', `Buffer-menu-time-format'.
Commands defined here:
`Buffer-menu-decrease-max-buffer+size' (Emacs 22+),
`Buffer-menu-delete-flagged',
`Buffer-menu-increase-max-buffer+size' (Emacs 22+),
`Buffer-menu-mouse-3-menu', `Buffer-menu-mouse-delete',
`Buffer-menu-mouse-execute', `Buffer-menu-mouse-modified',
`Buffer-menu-mouse-other-window', `Buffer-menu-mouse-save',
`Buffer-menu-mouse-unmark', `Buffer-menu-toggle-file-column'
(Emacs 22+), `Buffer-menu-toggle-mode-column' (Emacs 22+),
`Buffer-menu-toggle-time-column' (Emacs 22+),
`Buffer-menu-toggle-time-format' (Emacs 22+).
Internal variables defined here:
`buffer-menu-buffer-name',
`Buffer-menu-buffer+size-computed-width',
`buffer-menu-current-buffer', `buffer-menu-directory-buffer',
`buffer-menu-flagged-buffer', `buffer-menu-marked-buffer',
`buffer-menu-star-buffer', `buffer-menu-delete-mark',
`buffer-menu-file-name', `buffer-menu-font-lock-keywords',
`buffer-menu-headings', `buffer-menu-mode',
`buffer-menu-modified-mark', `buffer-menu-read-only-mark',
`buffer-menu-save-mark', `buffer-menu-size', `buffer-menu-time',
`buffer-menu-view-mark'.
Other functions defined here:
`Buffer-menu-fontify-and-adjust-frame',
`buffer-menu-nb-marked-in-mode-name',
`buffer-menu-set-default-value'.
***** NOTE: The following user option (variable) defined in
`buff-menu.el' has been REDEFINED HERE:
`Buffer-menu-sort-column' - A user option now. Numeric, default=1.
***** NOTE: The following hook defined in `buff-menu.el'
has been REDEFINED HERE:
`Buffer-menu-mode-hook' (aka `buffer-menu-mode-hook') -
Fontify buffer and fits its frame.
Add number of marked and flagged lines to mode in mode line.
***** NOTE: The following functions defined in `buff-menu.el'
have been REDEFINED HERE:
`buffer-menu' -
1. Different help message.
2. Prefix ARG =< 0 now means list (all) buffers alphabetically.
(It used to mean the same as ARG > 0.)
Prefix ARG >= 0 means list just file buffers.
3. Use pop-to-buffer instead of switch-to-buffer.
`Buffer-menu-beginning' - Protected with `boundp' for Emacs 20.
`Buffer-menu-buffer+size' - Use computed width for Buffer + Size.
`Buffer-menu-execute' - Deletes windows (frame) when kills buffer.
`Buffer-menu-make-sort-button' -
1. If same column as last sort, flip direction of sort.
2. Column header face indicates sort direction.
3. CRM is indicated by COLUMN = 1, not by nil COLUMN.
`Buffer-menu-mode' -
1. Doc string reflects new bindings.
2. mouse-face on whole line, not just buffer name.
`Buffer-menu-select' - When Buffer Menu is `window-dedicated-p',
uses `pop-to-buffer' to display.
`Buffer-menu-sort' -
1. Allow negative COLUMN. Allow COLUMN = 1 or -1.
2. When COLUMN = `Buffer-menu-sort-column', then flip that.
3. Added message at end indicating the kind of sort.
`list-buffers-noselect' - Use longest buffer name+size to indent.
- Change sort direction if same column.
- Add sort buttons for CRM and Time also.
- Sort test is different: no sort for CRM.
- Go to bob if `desired-point' undefined.
In your init file (`~/.emacs') file, do this:
(require 'buff-menu+)
NOTE:
1. This file MUST be saved with encoding UTF-8 or equivalent,
because it contains an em-dash character.
2. If you byte-compile this using a version of Emacs prior to 23,
and you use the byte-compiled file with Emacs 23 or later, then
some keys, such as `q', will not be defined in the buffer list.
(So byte-compile it using Emacs 23 or later.)
3. Starting with Emacs 24.3, Emacs development changed
`buff-menu.el' so that it is based on `tabulated-list' mode.
Unfortunately, that breaks the `buff-menu+.el' enhancements. I
have not had the time to update `buff-menu+.el' for
compatibility with Emacs 24.3 and later. If you want to use
`buff-menu+.el' with Emacs 24.3 or later, you can download the
Emacs 23 version of `buff-menu.el' and put that in your
`load-path'. You will lose no features if you do that: Emacs
24.3 and later add no enhancements to `buff-menu.el' - they
just base it on `tabulated-list.el'. You can download Emacs 23
`buff-menu.el' here: http://ftp.gnu.org/gnu/emacs/ or here:
http://www.gnu.org/prep/ftp.html. That version will work fine
with Emacs 24.3 and later and with `buff-menu+.el'. I might
eventually get around to updating `buff-menu+.el' to
accommodate the `buff-menu.el' change, but it is not my first
priority. Sorry for this annoyance.