unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#33757: 27.0.50; dired-du-mode displays incorrect human readable file sizes for non-GNU systems
@ 2018-12-15  6:37 Matthew Newton
  2018-12-15  9:52 ` Robert Pluim
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Newton @ 2018-12-15  6:37 UTC (permalink / raw)
  To: 33757

* Reproduction
1. Run MacOS (Or I suspect any OS that is not GNU-based).
2. emacs -Q
3. M-x package-install RET dired-du RET
4. M-x dired RET ~ RET
5. M-x dired-du-mode RET
6. Notice that file sizes are displayed in kbytes, not bytes (they are displayed in bytes in a GNU-based system)
7. M-x dired-du--toggle-human-readable RET
8. M-x z z (to enable file sizes displated in human readable form, i.e. sizes ending in k, M, G, T)
9. File sizes displayed are one order of magnitude smaller than their actual size (e.g. if the file size is 2MB then it will be displayed as 2kB)

* Discussion
The problem seems to arise when the custom variable dired-du-used-space-program is set. For a GNU-based system, it gets set to "du -sb" but for MacOS it gets set to "du -sk". Then later when the human readable sizes are calculated, this difference does not appear to be accounted for.

Why do we make the distinction between a GNU-based system and anything else? Can we just change the logic setting dired-du-used-space-program to always run "du -sb”?


Cheers,
Matt

P.S. This is my first Emacs bug report so please help me out if I should report it differently.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#33757: 27.0.50; dired-du-mode displays incorrect human readable file sizes for non-GNU systems
  2018-12-15  6:37 bug#33757: 27.0.50; dired-du-mode displays incorrect human readable file sizes for non-GNU systems Matthew Newton
@ 2018-12-15  9:52 ` Robert Pluim
  2018-12-15 18:13   ` Matthew Newton
  0 siblings, 1 reply; 3+ messages in thread
From: Robert Pluim @ 2018-12-15  9:52 UTC (permalink / raw)
  To: Matthew Newton; +Cc: 33757

Matthew Newton <matt@mnewton.com> writes:

> * Reproduction
> 1. Run MacOS (Or I suspect any OS that is not GNU-based).
> 2. emacs -Q
> 3. M-x package-install RET dired-du RET
> 4. M-x dired RET ~ RET
> 5. M-x dired-du-mode RET
> 6. Notice that file sizes are displayed in kbytes, not bytes (they are displayed in bytes in a GNU-based system)
> 7. M-x dired-du--toggle-human-readable RET
> 8. M-x z z (to enable file sizes displated in human readable form, i.e. sizes ending in k, M, G, T)
> 9. File sizes displayed are one order of magnitude smaller than their
> actual size (e.g. if the file size is 2MB then it will be displayed as
> 2kB)
>
> * Discussion
> The problem seems to arise when the custom variable
> dired-du-used-space-program is set. For a GNU-based system, it gets
> set to "du -sb" but for MacOS it gets set to "du -sk". Then later when
> the human readable sizes are calculated, this difference does not
> appear to be accounted for.
>
> Why do we make the distinction between a GNU-based system and anything
> else? Can we just change the logic setting dired-du-used-space-program
> to always run "du -sb”?
>

$ uname -a
Darwin rpluim-mac 18.2.0 Darwin Kernel Version 18.2.0: Fri Oct  5 19:41:49 PDT 2018; root:xnu-4903.221.2~2/RELEASE_X86_64 x86_64
$ du -sb
du: illegal option -- b
usage: du [-H | -L | -P] [-a | -s | -d depth] [-c] [-h | -k | -m | -g]
[-x] [-I mask] [file ...]

IOW the fix will have to be in dired-du.

Robert





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#33757: 27.0.50; dired-du-mode displays incorrect human readable file sizes for non-GNU systems
  2018-12-15  9:52 ` Robert Pluim
@ 2018-12-15 18:13   ` Matthew Newton
  0 siblings, 0 replies; 3+ messages in thread
From: Matthew Newton @ 2018-12-15 18:13 UTC (permalink / raw)
  To: Robert Pluim; +Cc: 33757

Hmm, right you are. I forgot that I had GNU core utils installed on my Mac.

I suggest two things:
1. Look for gdu in path and use that if possible.
2. Add something like `dired-du-used-space-units` to indicate whether file sizes are stored in bytes, kilobytes, whatever. Then modify `dired-du-count-sizes` to multiply appropriately.

I can submit a patch if you think that’s the way to go.

By the way, I just want to verify: Is this the right place to submit a bug report for dired-du?




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-12-15 18:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-15  6:37 bug#33757: 27.0.50; dired-du-mode displays incorrect human readable file sizes for non-GNU systems Matthew Newton
2018-12-15  9:52 ` Robert Pluim
2018-12-15 18:13   ` Matthew Newton

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).