New user option 'Buffer-menu-human-readable-sizes'

* lisp/buff-menu.el (Buffer-menu-human-readable-sizes): New user
option.
(list-buffers--refresh): Use it.
* etc/NEWS: Announce the new user option.  (Bug#75825)
This commit is contained in:
Pengji Zhang 2025-01-27 19:42:00 +08:00 committed by Eli Zaretskii
parent ed0ca7c23e
commit f40aff4c5d
2 changed files with 18 additions and 1 deletions

View file

@ -402,6 +402,12 @@ set to 'title'.
*** New user option 'ibuffer-human-readable-size'.
When non-nil, buffer sizes are shown in human readable format.
---
** Buffer Menu
*** New user option 'Buffer-menu-human-readable-sizes'.
When non-nil, buffer sizes are shown in human readable format. The
default is nil, which retains the old format.
** Smerge
*** New command 'smerge-extend' extends a conflict over surrounding lines.

View file

@ -135,6 +135,14 @@ If this is nil, group names are unsorted."
:group 'Buffer-menu
:version "30.1")
(defcustom Buffer-menu-human-readable-sizes nil
"If non-nil, show buffer sizes in human-readable format.
That means to use `file-size-human-readable' (which see) to format the
buffer sizes in the buffer size column."
:type 'boolean
:group 'Buffer-menu
:version "31.1")
(defvar-local Buffer-menu-files-only nil
"Non-nil if the current Buffer Menu lists only file buffers.
This is set by the prefix argument to `buffer-menu' and related
@ -831,7 +839,10 @@ See more at `Buffer-menu-filter-predicate'."
(if buffer-read-only "%" " ")
(if (buffer-modified-p) "*" " ")
(Buffer-menu--pretty-name name)
(number-to-string (buffer-size))
(funcall (if Buffer-menu-human-readable-sizes
#'file-size-human-readable
#'number-to-string)
(buffer-size))
(concat (format-mode-line mode-name
nil nil buffer)
(if mode-line-process