From: Lars Ingebrigtsen Date: Wed, 9 Oct 2019 23:57:54 +0000 (+0200) Subject: Fix formatting of (file-size-human-readable 2047) X-Git-Tag: emacs-27.0.90~1173 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9ab3f16c460d91aa556eb35085a90f168b10390f;p=emacs.git Fix formatting of (file-size-human-readable 2047) * lisp/files.el (file-size-human-readable): Don't format slightly-less numbers as X.0k, but just Xk instead (bug#36329). --- diff --git a/lisp/files.el b/lisp/files.el index fdd7c75ced6..a1c7e3c8144 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1419,7 +1419,8 @@ in all cases, since that is the standard symbol for byte." (if (string= prefix "") "" "i") (or unit "B")) (concat prefix unit)))) - (format (if (> (mod file-size 1.0) 0.05) + (format (if (and (>= (mod file-size 1.0) 0.05) + (< (mod file-size 1.0) 0.95)) "%.1f%s%s" "%.0f%s%s") file-size diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el index ed23f7675cc..60387e1ab2e 100644 --- a/test/lisp/files-tests.el +++ b/test/lisp/files-tests.el @@ -1282,6 +1282,12 @@ renaming only, rather than modified in-place." (should (equal (file-size-human-readable 10000 'si " " "bit") "10 kbit")) (should (equal (file-size-human-readable 10000 'iec " " "bit") "9.8 Kibit")) + (should (equal (file-size-human-readable 2048) "2k")) + (should (equal (file-size-human-readable 2046) "2k")) + (should (equal (file-size-human-readable 2050) "2k")) + (should (equal (file-size-human-readable 1950) "1.9k")) + (should (equal (file-size-human-readable 2100) "2.1k")) + (should (equal (file-size-human-readable-iec 0) "0 B")) (should (equal (file-size-human-readable-iec 1) "1 B")) (should (equal (file-size-human-readable-iec 9621) "9.4 KiB"))