From acb2d6f5fa7648e29895fb8b05085ac65e084f4d Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Sun, 7 Jun 2020 16:19:49 +0100 Subject: [PATCH] fix(navigation): Dired disk usage command was unreliable on Linux --- modules/navigation/siren-dired.el | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/modules/navigation/siren-dired.el b/modules/navigation/siren-dired.el index e543e45..42e760c 100644 --- a/modules/navigation/siren-dired.el +++ b/modules/navigation/siren-dired.el @@ -21,20 +21,17 @@ (siren-dired-get-size nil) (siren-dired-get-disk-usage))) - ;; Inspired by dired-get-size from: + ;; Based on dired-get-size from: ;; https://www.emacswiki.org/emacs/DiredGetFileSize (defun siren-dired-get-disk-usage () "Display total disk usage of marked items in Dired." (interactive) (let ((files (dired-get-marked-files))) (with-temp-buffer - (shell-command (concat "/usr/bin/env du -sch " - (mapconcat 'shell-quote-argument files " ") - " | tail -n 1") - (current-buffer)) + (apply 'call-process (executable-find "du") nil t nil "-sch" files) (message "Size of all marked files: %s" (progn - (re-search-forward "^\s*?\\([0-9.,]+[A-Za-z]+\\).*total$") + (re-search-backward "^\s*?\\([0-9.,]+[A-Za-z]+\\).*total$") (match-string 1)))))) (defun siren-dired-get-size (arg)