Subject: bug#75825: closed (Re: bug#75825: [PATCH] New user option 'Buffer-menu-human-readable-size')

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 01 Feb 2025 10:40:02 +0000

Your bug report

#75825: [PATCH] New user option 'Buffer-menu-human-readable-size'

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
75825: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=75825
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#75825: [PATCH] New user option 'Buffer-menu-human-readable-size'
From: Eli Zaretskii <[email-masked]>
To: Pengji Zhang <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sat, 01 Feb 2025 12:39:49 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Cc: [email-masked]
> From: Pengji Zhang <[email-masked]>
> Date: Mon, 27 Jan 2025 19:48:43 +0800
> 
> Thanks for the review!
> 
> Robert Pluim <[email-masked]> writes:
> 
> > As with #75495, "size" or "sizes", please pick one and only one.
> 
> I do not have a preference for this. So I updated the patch to use
> "sizes" consistently following your comment in #75495.
> 
> > When adding a new user option, please describe the default value. I
> > assume itʼs nil, but NEWS should tell me (especially as NEWS is often
> > read outside Emacs).
> 
> Added in the updated patch.

Thanks, installed on the master branch, and closing the bug.

Please in the future, once the bug number is known (as it always is
when you post a corrected version of a patch), mention the bug number
in the commit log message.  Otherwise, I have to add it manually, when
installing the patch.

Subject: [PATCH] New user option 'Buffer-menu-human-readable-size'
From: Pengji Zhang <[email-masked]>
To: [email-masked]
Date: Sat, 25 Jan 2025 19:45:29 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

This patch introduces a new user option similar to the one in bug#75495.
With it we could display buffer sizes in the human readable format for
Buffer Menu.

Thanks!

Pengji

>From 423df97d414ea6443e0c74c0978ab9a4faeb9476 Mon Sep 17 00:00:00 2001
From: Pengji Zhang <[email-masked]>
Date: Sat, 25 Jan 2025 19:29:26 +0800
Subject: [PATCH] New user option 'Buffer-menu-human-readable-size'

* lisp/buff-menu.el (Buffer-menu-human-readable-size): New user
option.
(list-buffers--refresh): Use it.
* etc/NEWS: Annouce the new user option.
---
 etc/NEWS          |  5 +++++
 lisp/buff-menu.el | 13 ++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/etc/NEWS b/etc/NEWS
index 385e943c997..612d1fd88f3 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -361,6 +361,11 @@ 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-size'.
+When non-nil, buffer sizes are shown in human readable format.
+
 ** Smerge
 *** New command 'smerge-extend' extends a conflict over surrounding lines.
 
diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el
index 4418db01724..7790475f1f6 100644
--- a/lisp/buff-menu.el
+++ b/lisp/buff-menu.el
@@ -135,6 +135,14 @@ Buffer-menu-group-sort-by
   :group 'Buffer-menu
   :version "30.1")
 
+(defcustom Buffer-menu-human-readable-size 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 @@ list-buffers--refresh
 				(if buffer-read-only "%" " ")
 				(if (buffer-modified-p) "*" " ")
 				(Buffer-menu--pretty-name name)
-				(number-to-string (buffer-size))
+				(funcall (if Buffer-menu-human-readable-size
+                                             #'file-size-human-readable
+                                           #'number-to-string)
+                                         (buffer-size))
 				(concat (format-mode-line mode-name
                                                           nil nil buffer)
 					(if mode-line-process
-- 
2.48.1