aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPengji Zhang2025-01-27 19:42:00 +0800
committerEli Zaretskii2025-02-01 12:37:37 +0200
commitf40aff4c5d2d8dc83074addc568abcdf564e6b01 (patch)
treec88f85497a4fd758390eed1b463fef16543c50af
parented0ca7c23e60696148b986ac15fb20e40aec7dea (diff)
downloademacs-f40aff4c5d2d8dc83074addc568abcdf564e6b01.tar.gz
emacs-f40aff4c5d2d8dc83074addc568abcdf564e6b01.zip
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)
-rw-r--r--etc/NEWS6
-rw-r--r--lisp/buff-menu.el13
2 files changed, 18 insertions, 1 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 4859ac414e3..fd0d3ece5eb 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -402,6 +402,12 @@ set to 'title'.
402*** New user option 'ibuffer-human-readable-size'. 402*** New user option 'ibuffer-human-readable-size'.
403When non-nil, buffer sizes are shown in human readable format. 403When non-nil, buffer sizes are shown in human readable format.
404 404
405---
406** Buffer Menu
407*** New user option 'Buffer-menu-human-readable-sizes'.
408When non-nil, buffer sizes are shown in human readable format. The
409default is nil, which retains the old format.
410
405** Smerge 411** Smerge
406*** New command 'smerge-extend' extends a conflict over surrounding lines. 412*** New command 'smerge-extend' extends a conflict over surrounding lines.
407 413
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 4418db01724..36268b3512a 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -135,6 +135,14 @@ If this is nil, group names are unsorted."
135 :group 'Buffer-menu 135 :group 'Buffer-menu
136 :version "30.1") 136 :version "30.1")
137 137
138(defcustom Buffer-menu-human-readable-sizes nil
139 "If non-nil, show buffer sizes in human-readable format.
140That means to use `file-size-human-readable' (which see) to format the
141buffer sizes in the buffer size column."
142 :type 'boolean
143 :group 'Buffer-menu
144 :version "31.1")
145
138(defvar-local Buffer-menu-files-only nil 146(defvar-local Buffer-menu-files-only nil
139 "Non-nil if the current Buffer Menu lists only file buffers. 147 "Non-nil if the current Buffer Menu lists only file buffers.
140This is set by the prefix argument to `buffer-menu' and related 148This is set by the prefix argument to `buffer-menu' and related
@@ -831,7 +839,10 @@ See more at `Buffer-menu-filter-predicate'."
831 (if buffer-read-only "%" " ") 839 (if buffer-read-only "%" " ")
832 (if (buffer-modified-p) "*" " ") 840 (if (buffer-modified-p) "*" " ")
833 (Buffer-menu--pretty-name name) 841 (Buffer-menu--pretty-name name)
834 (number-to-string (buffer-size)) 842 (funcall (if Buffer-menu-human-readable-sizes
843 #'file-size-human-readable
844 #'number-to-string)
845 (buffer-size))
835 (concat (format-mode-line mode-name 846 (concat (format-mode-line mode-name
836 nil nil buffer) 847 nil nil buffer)
837 (if mode-line-process 848 (if mode-line-process