;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\"\210\307\310\311\312\313\314\315\302&\207" [require cl-lib dired find-dired autoload dired-subdir-min "dired-aux" custom-declare-group dired-du nil "Dired with recursive size dir." :prefix "dired-du-" :group] 8) #@445 Alist of cached (DIRNAME . DIR-INFO) in Dired buffer. DIRNAME is a subdirectory in the DIRED buffer. DIR-INFO is one alist with information about each directory in DIRNAME obtained with `dired-du-get-file-info'. Each element is an alist: (NAME ((nlink . NLINK) (size . SIZE) (time . TIME))). The size of the directories is the recursive size obtained with `dired-du-used-space-program'. The size of the entries '.' and '..' is not changed. (defvar dired-du-dir-info nil (#$ . 366)) (make-variable-buffer-local 'dired-du-dir-info) #@226 Variable with the status of the mode. If this variable evaluates non-nil, then show recursive size for directories in the Dired buffer. This variable is also used as default value for INCLUDE-DIRS in `dired-du-count-sizes'. (defvar dired-du-mode nil (#$ . 907)) (byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311DD\312\313\314%\207" [make-variable-buffer-local dired-du-mode put permanent-local t custom-declare-variable dired-du-used-space-program funcall function #[0 "\301\302\303\304!\"\203\305\202\306\307\310!\203\310D\2020\311\312!\203'\312D\2020\311\313!\2050\313D\262!\207" [system-type purecopy string-prefix-p "gnu" symbol-name "-sb" "-sk" executable-find "du" file-executable-p "/usr/sbin/du" "/etc/du"] 5] "Program and its options to get recursively the total size of a directory.\nWe assume the output has the format of `du'.\nA value of nil disables this feature." :type (choice (const :tag "Unset" nil) (list (string :tag "Program") (repeat :tag "Options" :inline t (string :format "%v"))))] 6) #@79 Nil if the user must be warned about `dired-du-used-space-program' being nil. (defvar dired-du--user-warned (byte-code "\205\301\207" [dired-du-used-space-program t] 1) (#$ . 1956)) (byte-code "\300\301\302\303\304DD\305\306\307%\210\300\310\302\303\311DD\312\306\313%\207" [custom-declare-variable dired-du-size-format funcall function #[0 "\300\207" [nil] 1] "Set the format for file sizes.\nIf equals t, then `dired-du-count-sizes' displays file\nsizes using `file-size-human-readable'.\n\nIf equals 'comma, then `dired-du-count-sizes' displays\nfile sizes using thousands comma separator.\n\nOtherwise display file sizes in default numeric format." :type (choice (const :tag "Use default numeric format" nil) (const :tag "Use human readable string" t) (const :tag "Use thousands comma separator" 'comma)) dired-du-on-find-dired-ok #[0 "\300\207" [nil] 1] "If Non-nil show recursive dir sizes in `find-dired'.\nThe format to display the file sizes is control by\n`dired-du-size-format'." boolean] 6) #@221 Non-nil if current buffer is a `find-dired' buffer. When `dired-du-on-find-dired-ok' evaluates non-nil, then this buffer show recursive dir sizes with format according with `dired-du-size-format' if the mode is enabled. (defvar dired-du-find-dired-buffer nil (#$ . 2969)) (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311%\207" [make-variable-buffer-local dired-du-find-dired-buffer custom-declare-variable dired-du-update-headers funcall function #[0 "\300\207" [nil] 1] "If Non-nil, update the subdir headers.\nThe total used space shown contains the recursive size of the directories." :type boolean] 6) #@70 Regexp matching a subdir header in a Dired buffer in the local host. (defvar dired-du-local-subdir-header "^ total used in directory \\([,.0-9]+[BkKMGTPEZY]?\\) available \\([,.0-9]+[BkKMGTPEZY]?\\)" (#$ . 3592)) #@75 Regexp matching a subdir header in a Dired buffer visiting a remote host. (defvar dired-du-remote-subdir-header "^ total \\([,.0-9]+[BkKMGTPEZY]?\\)" (#$ . 3812)) #@71 Regexp matching a subdir header in a Dired buffer using lib `files+'. (defvar dired-du-filesp-subdir-header "^ *files \\([,0-9]+\\)/\\([,0-9]+\\) space used \\([,.0-9]+[BkKMGTPEZY]?\\) available \\([,.0-9]+[BkKMGTPEZY]?\\)" (#$ . 3982)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\300\314\302\303\315DD\316\306\307\310\317\312\313& \210\300\320\302\303\321DD\322\306\307\310\323\312\313& \207" [custom-declare-variable dired-du-bind-mode funcall function #[0 "\300\207" [t] 1] "Non-nil means bind `dired-du-mode' to C-x M-r in `dired-mode-map', otherwise do not." :type boolean :set #[514 "L\205\f\301\302\303#\207" [dired-mode-map define-key [24 134217842] dired-du-mode] 7 "\n\n(fn SYM VAL)"] :group dired-keys dired-du-bind-human-toggle #[0 "\300\207" [t] 1] "Non-nil means bind `dired-du--toggle-human-readable' to C-x C-h in `dired-mode-map', otherwise do not." #[514 "L\205\f\301\302\303#\207" [dired-mode-map define-key "" dired-du--toggle-human-readable] 7 "\n\n(fn SYM VAL)"] dired-du-bind-count-sizes #[0 "\300\207" [t] 1] "Non-nil means bind `dired-du-count-sizes' to *N in `dired-mode-map', otherwise do not." #[514 "L\205\f\301\302\303#\207" [dired-mode-map define-key "*N" dired-du-count-sizes] 7 "\n\n(fn SYM VAL)"]] 10) #@146 Save alist of files and their marks; execute BODY; restore the marks. The value returned is the value of the last form in BODY. (fn &rest BODY) (defalias 'dired-du-with-saved-marks '(macro . #[128 "\300\301!\300\302!\303\304BC\305\306B\303\307BC\310\311  E\312\303\313\314 DEFEEE\207" [make-symbol "saved-marks" "new-marks" let ((dired-remember-marks (point-min) (point-max))) unwind-protect progn ((dired-remember-marks (point-min) (point-max))) unless equal (dired-du-unmark-buffer) ((inhibit-read-only t)) dired-mark-remembered] 16 (#$ . 5267)])) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put dired-du-with-saved-marks lisp-indent-function 0 put edebug-form-spec t] 5) #@1368 Eval BODY with point on each marked line. Return a list of BODY's results. If no marked file could be found, execute BODY on the current line. ARG, if non-nil, specifies the files to use instead of the marked files. If ARG is an integer, use the next ARG (or previous -ARG, if ARG<0) files. In that case, point is dragged along. This is so that commands on the next ARG (instead of the marked) files can be chained easily. For any other non-nil value of ARG, use the current file. If optional third arg SHOW-PROGRESS evaluates to non-nil, redisplay the dired buffer after each file is processed. No guarantee is made about the position on the marked line. BODY must ensure this itself if it depends on this. Search starts at the beginning of the buffer, thus the car of the list corresponds to the line nearest to the buffer's bottom. This is also true for (positive and negative) integer values of ARG. BODY should not be too long as it is expanded four times. If DISTINGUISH-ONE-MARKED is non-nil, then if we find just one marked file, return (t FILENAME) instead of (FILENAME). If MARKER-CHAR is non-nil, then it is the mark character to search. Otherwise use `dired-marker-char'. If ALL-MARKS is non-nil, accept all mark characters. Otherwise use just MARKER-CHAR. (fn BODY ARG &optional SHOW-PROGRESS DISTINGUISH-ONE-MARKED MARKER-CHAR ALL-MARKS) (defalias 'dired-du-map-over-marks '(macro . #[1538 "\300\301\302\303\303\304 D\305\306 \307\310\311\303\312BB\313\314\315\316BBEFDE\303\317\320BB\321BBE\322DF\301\323\324\n\nED\325B\326\327\330\331\332\333\303\334BB\313\314\315\335BBE\336BBBBBF\303\337 \340BB\341BB\303\342\314\322DF\257FE\343BB\207" [prog1 let ((inhibit-read-only t) case-fold-search found results) if integerp progn dired-repeat-over-lines function lambda nil ((sit-for 0)) setq results cons (results) < (0) ((nreverse results) results) list regexp dired-du-marker-regexp (next-position) save-excursion (goto-char (point-min)) (setq next-position (and (re-search-forward regexp nil t) (point-marker)) found (not (null next-position))) while next-position (goto-char next-position) ((sit-for 0)) (results) ((goto-char next-position) (forward-line 1) (set-marker next-position nil) (setq next-position (and (re-search-forward regexp nil t) (point-marker)))) and ((= (length results) 1)) ((setq results (cons t results))) found ((dired-move-to-filename))] 26 (#$ . 5975)])) #@262 Advice function for `find-dired-sentinel'. Set `dired-du-find-dired-buffer' non-nil in current buffer and run `dired-after-readin-hook'. ORIG-FUN is the original `find-dired-sentinel'. ARGS are the arguments for `find-dired-sentinel'. (fn ORIG-FUN &rest ARGS) (defalias 'dired-du--find-dired-around #[385 "\301\302\"\303\304!\204\305\306!\210\207" [dired-du-find-dired-buffer t apply featurep find-dired+ run-hooks dired-after-readin-hook] 5 (#$ . 8412)]) #@1170 Return the marked files names as a list of strings. The list is in the same order as the buffer, that is, the car is the first marked file. Values returned are normally absolute file names. Optional arg LOCALP as in `dired-get-filename'. Optional second argument ARG, if non-nil, specifies files near point instead of marked files. It usually comes from the prefix argument. If ARG is an integer, use the next ARG files. If ARG is any other non-nil value, return the current file name. If no files are marked, and ARG is nil, also return the current file name. Optional third argument FILTER, if non-nil, is a function to select some of the files--those for which (funcall FILTER FILENAME) is non-nil. If DISTINGUISH-ONE-MARKED is non-nil, then if we find just one marked file, return (t FILENAME) instead of (FILENAME). Don't use that together with FILTER. Optional arg MARKER-CHAR, if non-nil, then it is the mark character to search. Otherwise use `dired-marker-char'. Optional arg ALL-MARKS, if non-nil, then accept all mark characters. Otherwise use just MARKER-CHAR. (fn &optional LOCALP ARG FILTER DISTINGUISH-ONE-MARKED MARKER-CHAR ALL-MARKS) (defalias 'dired-du-get-marked-files #[1536 "\212\302\303\304\303\211\211C\n\203=\n\250\2034\305 \306\307#\"\210\n\310W\203/\211\242\237\202\255\211\242\202\255\311\f\312\"C\202\255\313\"\303\212eb\210\314\303\304#\205R\315 \262\211??\262\211\203\205\211b\210\311\312\"\242B\240\210\211b\210\316y\210\211\303\211\223\210\314\303\304#\205\200\315 \262\202Y)\n\203\232\242G\316U\203\232\304\242B\240\210\203\245\242\266\202\202\255\311\312\"C\266\202*\266\204\317 \210\")\303\320\232\203\277\303\262\204\323\203\320@\304=\203\320\207\237\207\211\203\355\211@!\203\346\211B\262A\266\202\202\324\210\207" [case-fold-search inhibit-read-only delq nil t dired-repeat-over-lines make-closure #[0 "\301\302\300\303\"\301\242B\240\207" [V0 V1 dired-get-filename no-error-if-not-filep] 4] 0 dired-get-filename no-error-if-not-filep dired-du-marker-regexp re-search-forward point-marker 1 dired-move-to-filename (t)] 18 (#$ . 8882)]) #@309 Return a regexp matching `dired-marker-char' at the beginning of line. If MARKER-CHAR evaluates non-nil, then the regexp matches MARKER-CHAR instead of `dired-marker-char'. If optional argument ALL-MARKS evaluates to non-nil, then the regexp matches any mark character. (fn &optional MARKER-CHAR ALL-MARKS) (defalias 'dired-du-marker-regexp #[512 "\211\203\207\302\303\304\206 !!P\207" [dired-re-mark dired-marker-char "^" regexp-quote char-to-string] 6 (#$ . 11049)]) #@90 Return the number of links in ATTRIBUTES returned by `file-attributes'. (fn ATTRIBUTES) (defalias 'dired-du-link-number #[257 "\211A@\207" [] 2 (#$ . 11531)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put dired-du-link-number speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@229 The modification time in ATTRIBUTES returned by `file-attributes'. This is the time of the last change to the file's contents, and is a list of integers (HIGH LOW USEC PSEC) in the same style as (current-time). (fn ATTRIBUTES) (defalias 'dired-du-modification-time #[257 "\3008\207" [5] 3 (#$ . 11844)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put dired-du-modification-time speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@156 The size (in bytes) in ATTRIBUTES returned by `file-attributes'. This is a floating point number if the size is too large for an integer. (fn ATTRIBUTES) (defalias 'dired-du-size #[257 "\3008\207" [7] 3 (#$ . 12309)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put dired-du-size speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@40 Toggle on `dired-du-on-find-dired-ok'. (defalias 'dired-du-on-find-dired-ok-toggle #[0 "?\211\203\303\304!\210\202\303\305!\210 \205(\203!\n\203!\306 \207?\205(\307 \207" [dired-du-on-find-dired-ok dired-du-find-dired-buffer dired-du-mode message "Enabled `dired-du-on-find-dired-ok'" "Disabled `dired-du-on-find-dired-ok'" dired-du--replace revert-buffer] 3 (#$ . 12674) nil]) #@231 Like `string-to-number' but recognize a trailing unit prefix. For example, 2K is expanded to 2048.0. The caller should make sure that a trailing letter in STR is one of BKkMGTPEZY. It handles thousands comma separator. (fn STR) (defalias 'dired-du-string-to-number #[257 "\300\301\302#\303!\211\304U?\205\211GSH\211\203@\211\305V\203@\211\306U\203'\307\262\310\211\203?\211A\262\242U\204?\311_\262\202(\210\207" [replace-regexp-in-string "," "" string-to-number 0 57 107 75 (66 75 77 71 84 80 69 90 89) 1024.0] 7 (#$ . 13071)]) #@65 Return number NUM as an string using comma separator. (fn NUM) (defalias 'dired-du-use-comma-separator #[257 "\300\301\302\303\304\305\300\306\307\300\310\311\303\304\305\300\312\302\313!#\314\315\"\262!\"##\314\315\"\262!\"#\207" [replace-regexp-in-string "^," "" apply string reverse ",\\." "." "\\([0-9]\\{3\\}\\)" "\\1," "\\.0$" number-to-string append nil] 21 (#$ . 13625)]) #@43 Ensure current buffer is in `dired-mode'. (defalias 'dired-du-assert-dired-mode #[0 "\300\207" [nil] 1 (#$ . 14018)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put dired-du-assert-dired-mode speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@77 Return non-nil if there is a directory at current line in the Dired buffer. (defalias 'dired-du-directory-at-current-line-p #[0 "\212\302 b\210\303\304!)\262)\207" [dired-re-dir inhibit-changing-match-data line-beginning-position t looking-at] 3 (#$ . 14294)]) #@217 Return the filename relative to default directory of a file. Optional arg FILE, if non-nil, then is the file relative or fullname. Otherwise use the file at the current line in the Dired buffer. (fn &optional FILE) (defalias 'dired-du-filename-relative-to-default-dir #[256 "\211\204 \300\301\211\"\207\302!\303!\304\235\203(\305!\211\203&\306\302\307!!!P\207\207\207" [dired-get-filename t file-name-nondirectory file-relative-name ("." "..") file-name-directory file-name-as-directory directory-file-name] 8 (#$ . 14566)]) #@69 Return displayed size for file at current line as a decimal number. (defalias 'dired-du--read-size-from-buffer #[0 "\212\301 \205\302!\210\303\304w\210`\303\304x\210\305\306`\"!\262)\207" [directory-listing-before-filename-regexp dired-move-to-filename re-search-backward "^ " nil dired-du-string-to-number buffer-substring-no-properties] 5 (#$ . 15108)]) #@60 Return recursive directory size for DIR-REL. (fn DIR-REL) (defalias 'dired-du--get-recursive-dir-size #[257 "\301p\302\303\304\"r\211q\210\305\306\"\216\203$\307@\310\304\310A@ &\210\202R\311\312!\210\31314\314\315\"0\2026\210\310\211\204Drq\210\316 )\202K\317\320\321\322\"\"\323\324\"c\266\325b\210\326\327\310\304#\203i\330\331\301!!\\\262\202U*\210\207" [dired-du-used-space-program 0 generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] process-file nil require find-lisp (error) find-lisp-find-files "" dired-du--read-size-from-buffer apply + mapcar #[257 "\300!\3018\207" [file-attributes 7] 4 "\n\n(fn F)"] format "%d" 1 re-search-forward "^[0-9]+" string-to-number match-string] 11 (#$ . 15476)]) #@118 Return recursive directory size for dir at current line. If there is not a directory in the current line return nil. (defalias 'dired-du-get-recursive-dir-size #[0 "\300 \205\301\302\303\"\304!\262\207" [dired-du-directory-at-current-line-p dired-get-filename t noerror dired-du--get-recursive-dir-size] 3 (#$ . 16273)]) #@192 Run COMMAND for several files in parallel. Like `dired-run-shell-command' but adding optional arg OUT-BUF and not displaying the buffer associated to the shell process. (fn COMMAND OUT-BUF) (defalias 'dired-du-run-in-parallel #[514 "\302B\303\304 !\305\"\211\203\306\305D#\210\202!\305\"\210\307\310\311!\"\266)\266\312\207" [display-buffer-alist default-directory (" \\*temp\\*" (display-buffer-no-window) (allow-no-window . t)) find-file-name-handler directory-file-name shell-command apply #[514 "\300!\301>\205\302\303\304\305O\"\210\302\306!\207" [process-status (exit signal) message "collection of recursive dir size: %s." 0 -1 nil] 7 "\n\n(fn PROCESS SIGNAL)"] set-process-sentinel get-buffer-process nil] 9 (#$ . 16605)]) #@129 Get recursive directory size for DIRS. DIRS is a list of directories. The return value is an alist (DIRNAME . SIZE). (fn DIRS) (defalias 'dired-du-get-recursive-dir-size-in-parallel #[257 "\212\301\302\"\303\304@A@#\305\306\307G#\310C\311\312GZ\313\314%\310$\210\211\242\266\204)\207" [dired-du-used-space-program mapcar file-relative-name format "%s %s&" make-progress-reporter "Dired-Du collecting recursive dir sizes, please wait ..." 0 nil dired-bunch-files 10000 make-closure #[128 "\304\305\306\"r\211q\210\307\310\"\216p\311\312\301\313#\"\210\314!\315!\316=\203K\317ed\"\320\320U\204<\321\302\322\323\300G##\210\262\317ed\"\262\324\320\325\"\266\202\210\326b\210\327\330\331\306#\205r\332\333\320!!\334\331w\210\335`\336 \"\303B\303\242B\240\266\202O\262*\207" [V0 V1 V2 V3 generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] dired-du-run-in-parallel dired-shell-stuff-it on-each get-buffer-process process-status run count-lines 0 progress-reporter-force-update format "Dired-Du collecting dir sizes ...(%d/%d) " sleep-for 10 1 re-search-forward "^[0-9]+" nil string-to-number match-string " " buffer-substring-no-properties line-end-position] 13 "\n\n(fn &rest FILES)"]] 13 (#$ . 17365)]) #@68 Return position of NAME in DIR-INFO. (fn NAME &optional DIR-INFO) (defalias 'dired-du--get-position-1 #[513 "\300!\203 \301\"\202\302\"\211\205\303\304\305$\207" [hash-table-p gethash assoc cl-position :test equal] 8 (#$ . 18670)]) #@511 Return position of NAME in DIR-INFO. Optional arg DIR-INFO, if non-nil, is an alist with same structure as `dired-du-dir-info'. Otherwise defaults to `dired-du-dir-info'. Optional arg GLOB-POS, if non-nil, is the global position in DIR-INFO of the alist containing (KEY . VALUE). Otherwise, it is obtained inside this function. Return value is a cons (GLOB-POS . REL-POS); REL-POS is the position of NAME in the alist. If NAME is not found in DIR-INFO return nil. (fn NAME &optional DIR-INFO GLOB-POS) (defalias 'dired-du--get-position #[769 "\204\300 \262\301\302\"\303C\203Z\304\20348\211:\204'\303\240\266\202Z$\266\202Z\3052X\211\205U\211@ \303$\203N\306\305\303\"\210A\266\202\2029\2620\266\211\242\207" [dired-du--create-or-check-dir-info cl-remove-if-not #[257 "\211\243\207" [] 2 "\n\n(fn X)"] nil #[1028 "\300A\"\211\205\206\301@!B\240\207" [dired-du--get-position-1 dired-du--subdir-position] 8 "\n\n(fn RES V ALIST GPOS)"] found throw] 13 (#$ . 18922)]) #@142 Return the value associated with KEY in ALIST, using `assq'. If KEY is not found in ALIST, return DEFAULT. (fn KEY ALIST &optional DEFAULT) (defalias 'dired-du-alist-get #[770 "\236\211\203\n\211A\207\207" [] 5 (#$ . 19948)]) #@451 Return for file NAME its VALUE in (KEY . VALUE). KEY is a symbol. Optional arg DIR-INFO, if non-nil, is an alist with same structure as `dired-du-dir-info'. Otherwise defaults to `dired-du-dir-info'. Optional arg GLOB-POS, if non-nil, is the global position in DIR-INFO of the alist containing (KEY . VALUE). Otherwise, it is obtained inside this function. If name is not found in DIR-INFO return nil. (fn NAME KEY &optional DIR-INFO GLOB-POS) (defalias 'dired-du--get-value #[1026 "\204\262\301#\302\211\203'@A8A\262\3038\"\266\203\207" [dired-du-dir-info dired-du--get-position nil dired-du-alist-get] 13 (#$ . 20186)]) #@132 Return the position of SUBDIR in `dired-du-dir-info'. SUBDIR should be a fullname. If SUBDIR is not found return nil. (fn SUBDIR) (defalias 'dired-du--subdir-position #[257 "\301 \210\302\303\304\"\"\207" [dired-du-dir-info dired-du--create-or-check-dir-info cl-position-if make-closure #[257 "\211\242\211;\205\n\211\300\230\207" [V0] 4 "\n\n(fn X)"]] 5 (#$ . 20842)]) #@66 Return the global index of DIR in `dired-du-dir-info'. (fn DIR) (defalias 'dired-du--fullname-to-glob-pos #[257 "\300!\301!@\207" [file-relative-name dired-du--get-position] 4 (#$ . 21222)]) #@79 Return non-nil if FILE is included in DIR-INFO. (fn FILE &optional DIR-INFO) (defalias 'dired-du--file-in-dir-info-p #[513 "\300!\301!\302#\207" [dired-du-filename-relative-to-default-dir dired-du--fullname-to-glob-pos dired-du--get-position] 8 (#$ . 21422)]) #@410 Initialize `dired-du-dir-info' and return it. Intial value is just a list with the subdir names included in the Dired buffer. If there are subdirs not included in `dired-du-dir-info' then they are added. Optional arg KEEP-DROP-DIRS, when evaluates non-nil, keep the information of subdirectories shown before. Otherwise that information is discarded for performance reasons. (fn &optional KEEP-DROP-DIRS) (defalias 'dired-du--create-or-check-dir-info #[256 "\211G \204\302\303\"\202L\211 GV\2039\302\304\"\211\211\2034\211@\305 \"\204-\211C BA\266\202\202\266\202L\211 GW\203L\204L\306\307\310\" \" \207" [dired-subdir-alist dired-du-dir-info mapcar #[257 "\211@C\207" [] 2 "\n\n(fn X)"] car assoc-string cl-delete-if make-closure #[257 "\211\242\211;\205\f\301\300\"?\207" [V0 assoc-string] 5 "\n\n(fn X)"]] 9 (#$ . 21695)]) #@472 Get file info for file at current line in dired buffer. Optional arg GLOB-POS, when non-nil, is the position in `dired-du-dir-info' to look up. Otherwise, look in all positions. Optional arg DIR-DOTS, if non-nil, then obtain the recursive dir size for '.' and '..' as well. Otherwise obtain their size from the buffer. Optional arg DIR-SIZE, if non-nil, is the recursive dir size for the the file in the current dired line. (fn &optional GLOB-POS DIR-DOTS DIR-SIZE) (defalias 'dired-du-get-file-info #[768 "\306!\307\211\211\211\211\211\211\211\211\211\211\212\310 \210\311 \205 ?\205!\312\313\314\"\f?\205.\315\312\307\314\"\316\"\317\320 \210\321u\210\322 \307\323#\210\324 \262 \203\215\325u\210\326\323\327!)\262\204W\330u\210\331p!\262 \311 \210\332`\333\323!\206h`\"\262\334!\211\335\235\203~\336\337 !P\202\203\340 \"\341!\262\n\266\202\240\211\211A@\262\262 \211\3428\262\262 \262\343\344\307$\262\343\345\307$\262\343\346\307$\262\311 \210\212 \203\335\332\212\347\307x\210`)\350 !\210\351\307w\210`T\"\202\352\350 !\210\351\307w\210\352\353\n\"\262\n\354\332`\351\307x\210`\"!\334 !\355\235\2035\211\356!\352\357\"\360!\361\204\211#\266\205\202\244\206!\362 \356!\352\357\"\360!#\266\211\202\244\f\203{\324 \203{\n\230\203U U\203U\354!\206\\\206\\\362 \323=\203h\356!\202v \204s\352\357\"\202v\360!\262\202\244\354\352\357\"!\356!\352\357\"\360! \323=\203\227\266\204\202\244 \204\241\266\204\202\244\211\266\204\262\262 \332\347\307x\210`\351\307x\210`\"\262\f\324 \203\307\n\230\204\307\363\202\336\n\230?\206\336\fU?\206\336 \230?\262)\346B\364B\345B\344B\365B\366\nB\257)B\266\202)\207" [default-directory dired-re-inode-size inhibit-changing-match-data directory-listing-before-filename-regexp dired-du-mode dired-du-size-format file-remote-p nil dired-du--create-or-check-dir-info dired-move-to-filename dired-get-filename local noerror file-attributes string "\\=\\s *\\([0-9]+\\s +\\)?\\(?:\\([0-9]+\\(?:\\.[0-9]*\\)?[BkKMGTPEZY]?\\)? ?\\)" beginning-of-line 2 re-search-forward t dired-du-directory-at-current-line-p 10 " " looking-at 1 read buffer-substring-no-properties dired-move-to-end-of-filename file-name-nondirectory ("." "..") file-name-as-directory dired-current-directory expand-file-name dired-du-filename-relative-to-default-dir 5 dired-du--get-value time size nlink " " re-search-backward "^ " format "%s" dired-du-string-to-number ("." "..") file-size-human-readable "%d" dired-du-use-comma-separator #[771 "\301=\203\207\204\207\207" [dired-du-size-format t] 5 "\n\n(fn HUMAN DEFAULT SIZE-COMMA)"] dired-du-get-recursive-dir-size change-size gid isdir change] 31 (#$ . 22556)]) #@48 Return size for non-directory at current line. (defalias 'dired-du-get-file-size-local #[0 "\300 ?\205\301\302 !\3038\262\207" [dired-du-directory-at-current-line-p file-attributes dired-get-filename 7] 3 (#$ . 25334)]) #@178 Return size for file at current line. The return value is the size shown in the Dired buffer. To return the recursive size of directories use `dired-du-get-recursive-dir-size'. (defalias 'dired-du-get-file-size-remote #[0 "\212\301 \210\302!\210\303\304w\210\305u\210\306\307`T\212\303\304x\210`)\"!)\207" [directory-listing-before-filename-regexp dired-move-to-filename re-search-backward "^ " nil -1 dired-du-string-to-number buffer-substring-no-properties] 5 (#$ . 25565)]) #@277 Mark all files in current subdirectory. Optional arg MARK, if non-nil, then is the character mark used. Otherwise use `dired-marker-char'. Optional arg MUST-EXIST, if non-nil, hide non-existant files. Directories '.' and '..' are also marked. (fn &optional MARK MUST-EXIST) (defalias 'dired-du-mark-subdir-files #[512 "\214\300 \301 }\210\302\")\207" [dired-subdir-min dired-subdir-max dired-du-mark-buffer] 5 (#$ . 26051)]) #@273 Mark all files in the Dired buffer. Optional arg MARK, if non-nil, then is the character mark used. Otherwise use `dired-marker-char'. Optional arg MUST-EXIST, if non-nil, hide non-existant files. Directories '.' and '..' are also marked. (fn &optional MARK MUST-EXIST) (defalias 'dired-du-mark-buffer #[512 "\206\212\304ed\"\210\305eb\210\306\nd\305#\203'\307 b\210\310\311!\210c\210\202*\211\205\300\312=?\205\300\305\313\211\211C\314\313\211\"\313\212eb\210\306\313\305#\205O\315 \262\211??\262\211\203\230\211b\210\316\305\211\"\305\211\205v\317!?\205v\307 \311y\210`|)\262\242B\240\210\211b\210\311y\210\211\313\211\223\210\306\313\305#\205\223\315 \262\202V)\204\267\316\305\211\"\305\211\203\265\317!\204\265\307 \311y\210`|\210)\210\266*\266\320 \210\313)\207" [dired-marker-char inhibit-read-only dired-re-dot case-fold-search dired-mark-files-in-region t re-search-forward line-beginning-position delete-char 1 32 nil dired-du-marker-regexp point-marker dired-get-filename file-exists-p dired-move-to-filename] 12 (#$ . 26487)]) #@187 Remove MARK from all files in the Dired buffer. If MARK evaluates nil, remove any mark. Like `dired-du-unmark-buffer' but don't print any message in the echo area. (fn &optional MARK) (defalias 'dired-du-unmark-buffer #[256 "\211\204\301\302!\207ed\303!\304\212b\210\305\304#\205*\306 b\210\307\310!\210\311\302!\210\202*\207" [inhibit-read-only dired-du-mark-buffer 32 dired-du-marker-regexp t re-search-forward line-beginning-position delete-char 1 insert-char] 8 (#$ . 27576)]) #@124 Helper function for `dired-du--update-subdir-header'. SIZE-DATA are the numbers in the subdir header line. (fn SIZE-DATA) (defalias 'dired-du--update-subdir-header-1 #[257 "\301\211G\302\211W\205\211\211T\303\211#\266\211T\262\202\266\202)\207" [inhibit-read-only t 0 #[771 "\301=\203(\211\302V\204G\303W\203\304\202\305\306\3078!!\310\211\211%\207\204<\306\311\312\3078!\"\310\211\211%\207\306\313\3078!!\310\211\211%\207" [dired-du-size-format t 2 4 file-size-human-readable #[257 "\300\301\"\207" [format "%d"] 4 "\n\n(fn X)"] replace-match dired-du-string-to-number nil format "%d" dired-du-use-comma-separator] 10 "\n\n(fn SIZE-DATA I J)"]] 10 (#$ . 28076)]) #@174 Show numbers in SUBDIR header according with `dired-du-size-format'. Optional arg FILE-INFO, if non-nil, is the file info for SUBDIR files. (fn SUBDIR &optional FILE-INFO) (defalias 'dired-du--update-subdir-header #[513 "\205N\306 \n \307\211\211\211\211\211\211\212\310 !\210\212\311y\210`\262)\212\312\n\313#\2069\312 \313#\2069\312\313#)\205K\314 G\311Z\311\245\262\314 \315\316\"\216\f\204X\317S!\202\350\f\204\332\320\307\321ed\"\315\322\"\216\212\323\307\324\"\210\313\307\211\211C&\325\307\211\"\307\212eb\210\312\307\313#\205\213\326 \262\211??\262\211\203\274\211b\210 \242B\240\210\211b\210\327y\210\211\307\211\223\210\312\307\313#\205\267\326 \262\202\222)\203\310\242\266\202\202\316 C\266\202*\266\204\330 \210*\262\"\262 \331\332\333\334\"\"\335\336\"\262)\262\262\317\327!\262\317\311!\262\337'!?\205\340(\335\336\341\342\343\344 !!_\")\262F\262\312\n\313#\203+\345AA!\202K\312 \313#\203>\345\3118C!\202K\312\313#\205K\345!)\266\213\207" [dired-du-update-headers dired-du-local-subdir-header dired-du-remote-subdir-header dired-du-filesp-subdir-header dired-du-mode case-fold-search #[0 "\300\212\301 \205\f\302 \262\211)\207" [nil dired-move-to-filename dired-du-get-file-info] 2] nil dired-goto-subdir 2 re-search-forward t match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] match-string delq dired-remember-marks #[0 "\302ed\"\300\232?\205\303 \210\304\305\300!)\207" [V0 inhibit-read-only dired-remember-marks dired-du-unmark-buffer t dired-mark-remembered] 3] dired-du-mark-subdir-files must-exist dired-du-marker-regexp point-marker 1 dired-move-to-filename apply + mapcar #[257 "\300\301\302\"!\207" [dired-du-string-to-number dired-du-alist-get size] 5 "\n\n(fn X)"] format "%d" file-remote-p "-Pk" 1024 dired-du-string-to-number get-free-disk-space dired-current-directory dired-du--update-subdir-header-1 inhibit-read-only default-directory directory-free-space-args] 27 (#$ . 28786)]) #@734 Return the minimum width of size column to fit the largest dir size. DIR-INFO is the alist with file info as in `dired-du-get-file-info'. Return value is a list (NUM-BLANKS NUM-BLANKS-HUMAN NUM-BLANKS-COMMA MAX-GID-LEN). NUM-BLANKS is the minimum width of the size column to show the largest directory size. NUM-BLANKS-HUMAN is the minimum width of the size column to show the largest directory size using human readable units. NUM-BLANKS-COMMA is the minimum width of the size column to show the largest directory size using thousands comma separator. MAX-GID-LEN is the largest element of the column just left side of the size column; usually the gid, but the code is agnostic about the meaning of such column. (fn DIR-INFO) (defalias 'dired-du--get-num-extra-blanks #[257 "\300\301\302\303\203\304\305\306\"\"\206\307\203%\304\305\306 \"\"\206&\307\2037\304\305\306\n\"\"\2068\307\203I\304\305\306 \"\"\206J\307\310\211\211\211T\262T\262T\262F\262\207" [#[257 "\300\301\302\303\304\"!\"G\207" [format "%d" dired-du-string-to-number dired-du-alist-get size] 7 "\n\n(fn X)"] #[257 "\300\301\302\303\"!!G\207" [file-size-human-readable dired-du-string-to-number dired-du-alist-get size] 6 "\n\n(fn X)"] #[257 "\300\301\302\303\"!!G\207" [dired-du-use-comma-separator dired-du-string-to-number dired-du-alist-get size] 6 "\n\n(fn X)"] #[257 "\300\301\"G\207" [dired-du-alist-get gid] 4 "\n\n(fn X)"] apply max mapcar 0 nil] 17 (#$ . 30831)]) #@362 Get max length of gids and sizes for SUBDIR in several formats. MAX-LENS is a list (MAX-SIZE-LEN MAX-SIZE-HUMAN-LEN MAX-SIZE-COMMA-LEN MAX-GID-LEN). Supported size formats are: default (1024), human (1k), and comma separator (1,024). Optional arg NON-DIRS, when non-nil, then restrict to non-directories. Return nil. (fn SUBDIR MAX-LENS &optional NON-DIRS) (defalias 'dired-du--get-max-gid-and-size-lengths-for-subdir #[770 "\302C\302C\302C\302C\303\304&\212\305!\210\306ed\"\303\307\"\216\212\310 \210\311\312\313\"\210\314\312\211\211C\315\312\211\"\312\212eb\210\316\312\314#\205J\317 \262\211??\262\211\203{\211b\210 \242B\240\210\211b\210\320y\210\211\312\211\223\210\316\312\314#\205v\317 \262\202Q)\204\204 \210\266*\266\321 \210*\210)\242\240\210\242\242\242E\241\210\312\207" [case-fold-search inhibit-read-only 0 make-closure #[0 "\306 \205\217\307 !\205\217\300\203\310 ?\205\217\311\211\312\311w\210\313u\210\314`T\212\312\311x\210`)\312\311x\210\315\311x\210\"\262\314`\212\312\311x\210`)\"\262\310 \203\\\203\\\316\317\211\"\320\321\"\206Y\322\323\324 \"\262\210\325!\322\323\"\326!G\327!GGG\301\211\242]\240\210\302\211\242]\240\210\303\211\242]\240\210\304\211\242]\240\266\n\311\207" [V0 V1 V2 V3 V4 directory-listing-before-filename-regexp dired-move-to-filename re-search-backward dired-du-directory-at-current-line-p nil "^ " -1 buffer-substring-no-properties " " dired-get-filename t dired-du--get-value size format "%d" dired-du-get-recursive-dir-size dired-du-string-to-number dired-du-use-comma-separator file-size-human-readable dired-du-mode] 12] dired-goto-subdir dired-remember-marks #[0 "\302ed\"\300\232?\205\303 \210\304\305\300!)\207" [V0 inhibit-read-only dired-remember-marks dired-du-unmark-buffer t dired-mark-remembered] 3] dired-du-unmark-buffer dired-du-mark-subdir-files nil must-exist t dired-du-marker-regexp re-search-forward point-marker 1 dired-move-to-filename] 19 (#$ . 32333)]) #@121 Revert current dired buffer. Arguments IGNORE-AUTO, NOCONFIRM and PRESERVE-MODES are ignored. (fn ORIG-FUN &rest ARGS) (defalias 'dired-du--revert #[385 "\301\302\"\203\303\304\305\211$\262\306\307\310\311\312\313\"\262\"\"\262\301\314\"\203/\303\304\305\211$\2020\211\262\211\315\316!\306\"\210\317p!\211\203i\320\321!>\203i\313\211\247\203[@Y\205`\322#\266\323\324!\210\202@\210)\266\325 \207" [dired-actual-switches string-match "--human-readable" replace-match "" t apply string delete 104 append nil "[ \n ]+\\'" make-progress-reporter "Wait until find process finish" get-buffer-process run process-status progress-reporter-do-update sleep-for 1 dired-du--replace] 13 (#$ . 34347)]) #@168 Change the format to show the file sizes in the Dired buffer. Optional arg, HUMAN-READABLE has the same mean as `dired-du-size-format'. (fn &optional HUMAN-READABLE) (defalias 'dired-du--change-human-sizes #[256 "\305\211\204P\306\307\"\203\310\311\312\211$\262\313\314\315\316\317\305\"\262\"\"\262\306\320\"\2035\310\311\312\211$\2026\211\262\211 ?\206B\321\322!\262\203N\323 \210\312\262)\210\204X\324\305!\210\203\\\312\262\212\325\326\327\"\330\331\n\"\211G\327\305\332\312=\203x\333\202\205\204\204\312\262\334\202\205\335\327#\204Y\211\203T\211@\305\247\203\242@Y\205\247\336#\266T\262\212\337!\210\340!\210\341 \"\210@A@\342\n8\343 8\344\345&\346ed\"\344\347\"\216\212\350 \210\351\305\352\"\210\312\305\211\211C\353\305\211\"\305\212eb\210\354\305\312#\205\355 \262\211??\262\211\2038\211b\210 \242B\240\210\211b\210\356y\210\211\305\211\223\210\354\305\312#\2053\355 \262\202)\204A \210\266*\266\357 \210*\266)A\266\202\202\215\210\360!\210\266)\207" [dired-actual-switches dired-du-find-dired-buffer dired-subdir-alist case-fold-search inhibit-read-only nil string-match "--human-readable" replace-match "" t apply string delete 104 append "[ \n ]+\\'" y-or-n-p "Change to numeric size format requires revert buffer. Revert? " revert-buffer message make-list 4 0 mapcar car make-progress-reporter "Changing to human readable sizes..." "Changing to default numeric sizes..." "Changing to size with thousands comma separator..." progress-reporter-do-update dired-goto-subdir dired-du--update-subdir-header dired-du--get-max-gid-and-size-lengths-for-subdir 2 3 make-closure #[0 "\306 \205\211\307 !\205\211\310\211\311\310w\210\312u\210`T\262\313\311\310x\210`\"\262\314 \2037\2037\315\316\211\"\317\320\"\262\210\321!\322!\323\324\"\325!\300\316=\203O\302T\202Z\300\204X\301T\202Z\303T\323\326\"\327\310x\210\311\310x\210\304u\210`|\210\323\300\316=\203{\202\204\300\204\203\202\204\"c\266 \310\207" [V0 V1 V2 V3 V4 directory-listing-before-filename-regexp dired-move-to-filename re-search-backward nil "^ " -1 buffer-substring-no-properties dired-du-directory-at-current-line-p dired-get-filename t dired-du--get-value size dired-du-string-to-number file-size-human-readable format "%d" dired-du-use-comma-separator "%%%ds" " " dired-du-mode] 12] dired-remember-marks #[0 "\302ed\"\300\232?\205\303 \210\304\305\300!)\207" [V0 inhibit-read-only dired-remember-marks dired-du-unmark-buffer t dired-mark-remembered] 3] dired-du-unmark-buffer dired-du-mark-subdir-files must-exist dired-du-marker-regexp re-search-forward point-marker 1 dired-move-to-filename progress-reporter-done] 27 (#$ . 35079)]) #@173 Toggle to show file sizes with human readable string in Dired buffers. Optional arg, NO-MESSAGE, if non-nil don't show message in the echo area. (fn &optional NO-MESSAGE) (defalias 'dired-du--toggle-human-readable #[256 "\304\305!\203\203 \204\306\307\310\311!\"\210\304\305!\205e\203# \205e\312\313\n\"\211TG\246\2118\211\314!\204>8\211\207\211\315=\203H\316\202Q\211\204P\317\202Q\320\315\321ed\"\210)?\205a\322!\262\266\204\207" [dired-du-find-dired-buffer dired-du-on-find-dired-ok dired-du-size-format inhibit-read-only derived-mode-p dired-mode error "Toogle format size in `find-dired' buffers is disabled; enable with %s" substitute-command-keys "\\[dired-du-on-find-dired-ok-toggle]" (t nil comma) cl-position dired-du--change-human-sizes t "Enabled human-readable units in Dired buffer" "Enabled default numeric size format in Dired buffer" "Enabled size with thousands comma separator in Dired buffer" dired-insert-set-properties message] 9 (#$ . 37842) nil]) #@65 Delete from `dired-du-dir-info' entry for file NAME. (fn NAME) (defalias 'dired-du--delete-entry #[257 "\301!\211\204\f\302\303\"\207\211@\2118A\304\305\"\"\2628\211\241\266\306\207" [dired-du-dir-info dired-du--get-position error "Trying to delete unexistant entry for file '%s'" delete assoc nil] 8 (#$ . 38849)]) #@328 Update with NEW-ENTRY position GLOB-POS of `dired-du-dir-info'. NEW-ENTRY is the file information for just one file. If there is an entry for the same file, it is replaced with NEW-ENTRY. Otherwise, NEW-ENTRY is added in front to (cdr (nth GLOB-POS `dired-du-dir-info')). Return `dired-du-dir-info'. (fn NEW-ENTRY GLOB-POS) (defalias 'dired-du--local-update-dir-info #[514 "\301\302\"\301\303\"\204\304\305!\210\306\307!\210\310 \210\311\312 !\262\211\203\203\203\203\313\314\"\262@\315!\2059@\232\211\203Y\316!\210@\2118\2118\211\fAB\241\262\241\266\202\2038\211A\204m\211@ CB\262\202z\211A\nB\211\262\241\266\233\211\240\266\207" [dired-du-dir-info dired-du-alist-get isdir change message "called dired-du--local-update-dir-info with null glob-pos" sit-for 2 ding dired-du--subdir-position dired-current-directory cl-delete-if #[257 "\211\242\300=\206\211\242\301=\206\211\242\302=\207" [change gid isdir] 3 "\n\n(fn X)"] dired-du--get-position dired-du--delete-entry] 15 (#$ . 39185)]) #@391 Update with NEW-INFO position GLOB-POS of `dired-du-dir-info'. NEW-INFO may be the file info for one file or several. If NEW-INFO contains information for one file already in `dired-du-dir-info', then the new infomation replace the old one. Otherwise, the new information is added in front to (cdr (nth GLOB-POS `dired-du-dir-info')). Return `dired-du-dir-info'. (fn NEW-INFO GLOB-POS) (defalias 'dired-du--global-update-dir-info #[514 "\211\205\211@\300\"\210A\266\202\202\207" [dired-du--local-update-dir-info] 7 (#$ . 40235)]) #@152 Update recursive size for the marked files. This updates both, `dired-du-dir-info' and the Dired buffer. If no marked files, update the file at point. (defalias 'dired-du-update-dir-info #[0 "\212\303\304\211\211C\305\304\211\"\304\212eb\210\306\304\303#\205\307 \262\211??\262\211\203X\211b\210\310\311 !\312 C\313\"\266\202\242B\240\210\211b\210\314y\210\211\304\211\223\210\306\304\303#\205S\307 \262\202$)\204j\310\311 !\312 C\313\"\266\266*\266\315 \210)\n \207" [case-fold-search inhibit-read-only revert-buffer-function t nil dired-du-marker-regexp re-search-forward point-marker dired-du--subdir-position dired-current-directory dired-du-get-file-info dired-du--global-update-dir-info 1 dired-move-to-filename] 12 (#$ . 40784) nil]) #@62 Remove from `dired-du-dir-info' records of unexistent files. (defalias 'dired-du--drop-unexistent-files #[0 "\203\f\205g \205g\305\306\n\"\212\211\211\205b\211@\307!\211 8\211A\203Y\211A\211\211\203W\211@\211@\310!\211\311\235\203@\312\313 !P\202D\314\f\"\315!\204N\316!\210\266A\266\202\202&\266\266A\266\202\202\262)\262\207" [dired-du-find-dired-buffer dired-du-on-find-dired-ok dired-subdir-alist dired-du-dir-info default-directory mapcar car dired-du--subdir-position file-name-nondirectory ("." "..") file-name-as-directory dired-current-directory expand-file-name dired-goto-file dired-du--delete-entry] 13 (#$ . 41556)]) #@49 Reset `dired-du-dir-info' to the initial value. (defalias 'dired-du--reset #[0 "\301\302 \210\301\207" [dired-du-dir-info nil dired-du--create-or-check-dir-info] 1 (#$ . 42219)]) #@46 Revert Dired buffer and recompute dir sizes. (defalias 'dired-du-recompute-dir-size #[0 "\300 \210\301 \207" [dired-du--reset revert-buffer] 1 (#$ . 42405) nil]) #@59 Insert subdirectory DIR in `dired-du-dir-info'. (fn DIR) (defalias 'dired-du--insert-subdir #[257 "\301!\211\235\203 \202\211B\211\207" [dired-du-dir-info file-name-as-directory] 4 (#$ . 42573)]) #@43 Return list of marks in the Dired buffer. (defalias 'dired-du-get-all-marks #[0 "\302C\212\303\302\211\211C\304\302\305\"\302\212eb\210\306\302\303#\205\307 \262\211??\262\211\203w\211b\210\212\310 b\210`)\311\312\211T\"!\211\313\f\242\"\203L\n\242\202T\n\f\242B\240\262\266\202\242B\240\210\211b\210\314y\210\211\302\211\223\210\306\302\303#\205r\307 \262\202&)\204\243\212\310 b\210`)\311\312\211T\"!\211\313 \242\"\203\231\266\202\245  \242B\240\266\266*\266\315 \210\316\317\242\")\207" [case-fold-search inhibit-read-only nil t dired-du-marker-regexp all-marks re-search-forward point-marker line-beginning-position string-to-char buffer-substring-no-properties memql 1 dired-move-to-filename delete 32] 14 (#$ . 42784)]) #@253 Return list of files in the Dired buffer. Optional arg LOCAL, if non-nil, then return file name relative to `default-directory'. Otherwise, return fullnames. If '.' and '..' are present in the buffer, then include them as well. (fn &optional LOCAL) (defalias 'dired-du-get-all-files #[256 "\300\301\302\301\211\211\211\303&\"\300\301\302\301\211\211\304%\"\305\244!\207" [delq nil dired-du-get-marked-files all-marks 32 delete-dups] 10 (#$ . 43559)]) #@313 Return list of files of type TYPE in the Dired buffer. TYPE can be 'dirs, for directories, or 'non-dirs, for non directories. Optional arg LOCAL, if non-nil, then return file name relative to `default-directory'. If '.' and '..' are present in the buffer, then include them as well. (fn TYPE &optional LOCAL) (defalias 'dired-du--get-all-files-type #[513 "\302\303#\304\305\306\305\211\211C\307\310\305\"\305\212eb\210\311\305\306#\205#\312 \262\211??\262\211\203T\211b\210 \242B\240\210\211b\210\313y\210\211\305\211\223\210\311\305\306#\205O\312 \262\202*)\203`\242\266\202\202f C\266\202*\266\204\314 \210\"\211\304\305\306\305\211\211C\307\305\315\"\305\212eb\210\311\305\306#\205\214\312 \262\211??\262\211\203\275\211b\210 \242B\240\210\211b\210\313y\210\211\305\211\223\210\311\305\306#\205\270\312 \262\202\223)\203\311\242\266\202\202\317\n C\266\202*\266\204\314 \210\"\244\316!\207" [case-fold-search inhibit-read-only make-closure #[0 "\300\302=\203\303 \205\304\301\305\"\207\303 ?\205\304\301\305\"\207" [V0 V1 dirs dired-du-directory-at-current-line-p dired-get-filename noerror] 3] delq nil t dired-du-marker-regexp 32 re-search-forward point-marker 1 dired-move-to-filename all-marks delete-dups] 17 (#$ . 44025)]) #@229 Return list of directories in the Dired buffer. Optional arg LOCAL, if non-nil, then return file name relative to `default-directory'. If '.' and '..' are present in the buffer, then include them as well. (fn &optional LOCAL) (defalias 'dired-du-get-all-directories #[256 "\300\301\"\207" [dired-du--get-all-files-type dirs] 4 (#$ . 45321)]) #@162 Return list of non directories in the Dired buffer. Optional arg LOCAL, if non-nil, then return file name relative to `default-directory'. (fn &optional LOCAL) (defalias 'dired-du-get-all-non-directories #[256 "\300\301\"\207" [dired-du--get-all-files-type non-dirs] 4 (#$ . 45673)]) #@242 Return all directories in a subdir. Optional arg LOCAL, if non-nil, return file names relative to `default-directory'. Otherwise use the fullname. If '.' and '..' are present in the buffer, then include them as well. (fn &optional LOCAL) (defalias 'dired-du-get-all-subdir-directories #[256 "\214\300 \301 }\210\302!)\207" [dired-subdir-min dired-subdir-max dired-du-get-all-directories] 3 (#$ . 45966)]) #@246 Return all non-directories in a subdir. Optional arg LOCAL, if non-nil, return file names relative to `default-directory'. Otherwise use the fullname. If '.' and '..' are present in the buffer, then include them as well. (fn &optional LOCAL) (defalias 'dired-du-get-all-subdir-non-directories #[256 "\214\300 \301 }\210\302!)\207" [dired-subdir-min dired-subdir-max dired-du-get-all-non-directories] 3 (#$ . 46382)]) #@62 Return non-nil if STR represents a decimal number. (fn STR) (defalias 'dired-du--number-as-string-p #[257 "\211\300\230\206\211\300\230?\205\301!\302U?\207" ["0" string-to-number 0] 3 (#$ . 46809)]) #@223 Replace recursive directory size on Dired buffer. Optional arg GLOB-POS, if non-nil, is the entry in `dired-du-dir-info' to replace. Otherwise, default to 0. Return file info for current subdir. (fn &optional GLOB-POS) (defalias 'dired-du--replace-1 #[256 "\211C\211\242\204 \211\306\240\210A\204\211\306\240\210 \204\307\310!\210\n\203(\n\205x \205x\311`\242 8\211<\2039\211@\202:\211\262\312\313\314 \"\312\313\315 \"\211GG\312\313\316\317!\" \205\216\320\321\"\211\205\214@\203g\322!\202\214\323\212\211\205\207\211@\324\325A\"!\210\211\326 DB\262A\266\202\202j\262)\262\262\306C\327\330\327\306\323\211\331&\330\332\306 #\323\211\211\211\211\211\211\211\211\212\333!\210\334\335&\336\323\205?\337ed\"\334\340\"\216\212\341\323\342\"\210\311\323\211\211CB\343\323\211\"\323\212eb\210\344\323\311#\205\363\345 \262\211??\262\211\203$\211b\210\n \242B\240\210\211b\210\331y\210\211\323\211\223\210\344\323\311#\205\345 \262\202\372)\2030\242\266\202\2026 C\266\202*\266\204\346 \210*\262\"\262\n\347\n!\262@\262A@\262\3508\262\3518\266\202\f\242U\204k\352 !\210 A\351H\211\353P\323\212\354 \"\210 \211\203b\211@\211@\262 \355\356\"\262 \357 !\262\360\235\203\243\361!P\202\251\325 A\"\262\f\324\f!\203X\362C\363 \311#\203X\364\323w\210\365u\210\204\314\307\366!\210\204\325\307\367!\210\204\335\307\370!\210`T\371\372D\311=\203\355\n\202\371D\204\367 \202\371 \"\323\211\364\323w\210\364\323x\210\373\323x\210`\262\364\323x\210`\262\374\375\"!\204\" u\210\202%\211b\210`|\210\371D\311=\203;\376\377!!\202TD\204L\371\201E\377!\"\202T\201F\377!!\"c\266\331y\210A\266\202\202~\210)\201G!\210\201G\323!\210 \237\266\203*\266\225\207" [dired-subdir-alist dired-du-mode dired-du-find-dired-buffer dired-du-on-find-dired-ok inhibit-read-only dired-du-dir-info 0 error "Recursive dir sizes is disabled: Use `dired-du-mode' to enable it" t cl-delete-if-not file-exists-p dired-du-get-all-directories dired-du-get-all-files dired-du-get-all-subdir-directories local cl-delete-if #[257 "\301\"\205 \211\302\235?\207" [dired-du-dir-info dired-du--file-in-dir-info-p ("." "..")] 4 "\n\n(fn X)"] dired-du-get-recursive-dir-size-in-parallel nil dired-goto-file expand-file-name dired-du-get-recursive-dir-size "Dired-Du collecting file info ..." make-progress-reporter 1 "Dired-Du replacing file info ..." dired-goto-subdir make-closure #[0 "\306\211\211\212\307 \203@\310\311\211\"\262\312 \262\203#\212\301b\210\313\305\303\242\304#\210)\314\302\"A\315\300\242\306#\262\303\203;\303\242T\206=\303\242\240\266)\207" [V0 V1 V2 V3 V4 V5 nil dired-move-to-filename dired-get-filename t dired-du-directory-at-current-line-p progress-reporter-force-update assoc-string dired-du-get-file-info] 8] delq dired-remember-marks #[0 "\302ed\"\300\232?\205\303 \210\304\305\300!)\207" [V0 inhibit-read-only dired-remember-marks dired-du-unmark-buffer t dired-mark-remembered] 3] dired-du-mark-subdir-files must-exist dired-du-marker-regexp re-search-forward point-marker dired-move-to-filename dired-du--get-num-extra-blanks 2 3 progress-reporter-done "Done" dired-du--update-subdir-header dired-du-alist-get size file-name-nondirectory ("." "..") file-name-as-directory re-search-backward line-beginning-position "^ " -1 "The num-blanks null" "The num-blanks-human null" "The max-gid-len null" format "%%%ds" " " dired-du--number-as-string-p buffer-substring-no-properties file-size-human-readable dired-du-string-to-number dired-du-used-space-program default-directory case-fold-search directory-listing-before-filename-regexp dired-du-size-format "%d" dired-du-use-comma-separator message] 38 (#$ . 47021)]) #@51 Replace recursive directory size on Dired buffer. (defalias 'dired-du--replace #[0 "\203\f\205~ \205~\n\204\306\307!\210\310\311 \"\312\211\313ed\"\314\315\"\216\212\316 \210\211\203r\211@\317!\211\204M\320!\210\317!\321=\204J\306\322\317!\f$\210\321\262\323!\n\203i\203d\211B\262\266\202k\324\"\210\266A\266\202\202(\210*\210\325\326ed\")\266\203\207" [dired-du-find-dired-buffer dired-du-on-find-dired-ok dired-du-mode dired-subdir-alist dired-du-dir-info inhibit-read-only error "Recursive dir sizes is disabled: Use `dired-du-mode' to enable it" mapcar car nil dired-remember-marks make-closure #[0 "\302ed\"\300\232?\205\303 \210\304\305\300!)\207" [V0 inhibit-read-only dired-remember-marks dired-du-unmark-buffer t dired-mark-remembered] 3] dired-du-unmark-buffer dired-du--subdir-position dired-du--insert-subdir 0 "The glob-pos for dir %s not 0 (%S) %S" dired-du--replace-1 dired-du--global-update-dir-info t dired-insert-set-properties] 12 (#$ . 50800)]) #@67 Return sorter by size used by `dired-du-ls-lisp-handle-switches'. (defalias 'dired-du--size-sorter #[0 "\300\301\302\"\207" [#[257 "\211@A@\301=A\203'\302\235\204'\303@A\"\203#\304\305\306\"!\207\307!\207\211\3108\207" [dired-du-dir-info t ("." "..") assoc dired-du-string-to-number dired-du--get-value size dired-du--get-recursive-dir-size 7] 8 "\n\n(fn FILE-ALIST)"] make-closure #[514 "\300!\300!W\207" [V0] 5 "\n\n(fn X Y)"]] 4 (#$ . 51809)]) #@364 Advice on `ls-lisp-handle-switches to support sort_by_size on dirs. This function only has effect if you set `ls-lisp-use-insert-directory-program' nil. Note that if you are using `insert-directory-program' instead, then such a program is responsible to do the sorting, and it won't see the recursives sizes calculated by this library. (fn FILE-ALIST SWITCHES) (defalias 'dired-du-ls-lisp-handle-switches #[514 "\301>\204Y\3021J\303C\304\305!\306>\203\307 \202?\310!\240\203*\311\312\"\202?\313>\2034\314\202?\315>\203>\316\202?\317\"\262\211\2620\210\202Y\320\321\322!\"\210\323 \210\324\325!\266\326>\203e\327\330\"\262\203\262\303\211\211\203\237@\211\262A@\331=\204\213A@;\203\223\332A@!\203\223B\262\202\230B\262A\262\202l\301>\203\253\244\202\256\211\244\262\266\301>?\333>?==\203\303\237\207\207" [ls-lisp-dirs-first 85 (error) nil sort copy-sequence 83 dired-du--size-sorter ls-lisp-time-index make-closure #[514 "\301\300\242A8\300\242A8\"\207" [V0 time-less-p] 6 "\n\n(fn X Y)"] 88 #[514 "\304@!\304@!\n\203\305\306 $\202+\307\310\306\310\306 &\211\247\205)\211\310W\262)\207" [ls-lisp-UCA-like-collation w32-collate-ignore-punctuation ls-lisp-use-string-collate ls-lisp-ignore-case ls-lisp-extension string-collate-lessp nil compare-strings 0] 12 "\n\n(fn X Y)"] 118 #[514 "\300@@\"\207" [ls-lisp-version-lessp] 5 "\n\n(fn X Y)"] #[514 "@@\n\203\304\305 $\202'\306\307\305\307\305 &\211\247\205%\211\307W\262)\207" [ls-lisp-UCA-like-collation w32-collate-ignore-punctuation ls-lisp-use-string-collate ls-lisp-ignore-case string-collate-lessp nil compare-strings 0] 12 "\n\n(fn X Y)"] message "Unsorted (ls-lisp sorting error) - %s" error-message-string ding sit-for 2 70 mapcar ls-lisp-classify t file-directory-p 114] 8 (#$ . 52278)]) #@1433 Toggle dired-du mode. Interactively with no argument, this command toggles the mode. A positive prefix argument enables the mode, any other prefix argument disables it. From Lisp, argument omitted or nil enables the mode, `toggle' toggles the state. This is a minor mode. If called interactively, toggle the `Dired-du mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `dired-du-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. Show the recursive size of directories in Dired buffers. Once this mode is enabled, every new Dired buffer displays recursive dir sizes. The directory size is obtained with `dired-du-used-space-program'. Note that obtaining the recursive size of all the directories in a Dired buffer might be slow; thus, it may significantly delay the time to display a new Dired buffer. Instead of enabling `dired-du-mode' by default in all Dired buffers you might prefer to use this mode as a convenient interface to the `du' program: just enable it in the current Dired buffer, and disable it once you have finished checking the used space. (fn &optional ARG) (defalias 'dired-du-mode #[256 "\303 \304=\203 ?\202\247\203\305W\203\306\202\307\310\301!\2031\311\300 \"\2031\300 B\312\313!\204;\314\315!\210\203c\316\317\320\321#\210\316\322\323\324#\210\325\326\327\"\210\325\330\331\332#\210\325\333\334\"\210\325\335\300\"\210\202|\336\317\321\"\210\336\322\324\"\210\337\326\327\"\210\337\330\331\"\210\337\335\300\"\210\340\333\203\206\341\202\207\342\"\210\343\344!\203\251\303 \203\233\211\303 \232\203\251\345\346\203\245\347\202\246\350\351#\210\n\211\203\347\211@r\211Aq\210\352 \210\203\313\353\320\354\355B\356\306$\210\202\337\357\360\361!\356\"\211\360\361!=\204\336\362\361\"\210\210)A\266\202\202\253\266\352 \210\207" [dired-du-mode local-minor-modes dired-buffers current-message toggle 1 nil t boundp delq derived-mode-p dired-mode error "Dired-Du: Buffer not a Dired buffer" advice-add find-dired-sentinel :around dired-du--find-dired-around ls-lisp-handle-switches :override dired-du-ls-lisp-handle-switches add-hook dired-before-readin-hook dired-du--drop-unexistent-files dired-after-readin-hook dired-du--replace append dired-du-mode-hook dired-du--initialize dired-mode-hook advice-remove remove-hook run-hooks dired-du-mode-on-hook dired-du-mode-off-hook called-interactively-p any message "Dired-du mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update advice--add-function #[0 "\300\301!\207" [advice--buffer-local revert-buffer-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local revert-buffer-function] 4 "\n\n(fn GV--VAL)"] dired-du--revert advice--remove-function advice--buffer-local revert-buffer-function advice--set-buffer-local] 10 (#$ . 54130) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar dired-du-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\314\300!\205#\310\211%\207" [dired-du-mode-map dired-du-mode-hook variable-documentation put "Hook run after entering or leaving `dired-du-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode dired-du-mode " Dired-du" boundp] 6) #@60 Called by function `dired-du-mode' to initialize the mode. (defalias 'dired-du--initialize #[0 "\303\304!\204 \305\306!\207\211\2034 \204(\n\204(\307\310 \210\311\312!\210\313\314!\210\311\315!\210\311\316!\210\317 \210\311\320\321\"\207\322 \210\311\320\323\"\207" [dired-du-mode dired-du-used-space-program dired-du--user-warned derived-mode-p dired-mode error "Major mode not dired-mode" t beep message "Program `dired-du-used-space-program' not found.\nFallback to calculate recursive dir size in Lisp.\nPlease, consider install a 'du' executable suitable to your platform." sit-for 1 nil "Initializing Dired-Du mode ..." dired-du--replace "%s in Dired buffers" "Dired-Du mode enabled" dired-revert "Dired-Du mode disabled"] 4 (#$ . 57858)]) #@127 Return INFO without 1 marked flag. INFO is the output of `dired-du-get-marked-files' or `dired-du-map-over-marks'. (fn INFO) (defalias 'dired-du-distinguish-one-marked #[257 "\211A\204\300\207\211AA\204\211@\301=\203\211A\207\207" [nil t] 3 (#$ . 58617)]) #@593 Update `dired-du-dir-info' and return it. Optional arg DIR-INFO, if non-nil, is the new value. Otherwise, it is obtained within this function. Optional arg TARGET-FILES, if non-nil, then is a list of the full name of the files to update. Otherwise use all marked files. Optional arg INCLUDE-DIRS, if non-nil, then include the size of the marked directories. Optional arg MARK, if non-nil, is the mark character to search. Otherwise use `dired-marker-char'. Optional arg ALL-MARKS, if non-nil, acept all mark characters. (fn &optional DIR-INFO TARGET-FILES INCLUDE-DIRS MARK ALL-MARKS) (defalias 'dired-du--cache-dir-info #[1280 "\203 \202\276\212\303 \210`\206!\304\305\211\211\306\307&\310!\262\311\312\313\"\"\211G\314\315\314\316\305\211\317&\316C\312\320\f\n&\304\305\211\211\306&\211A\203\273\306\305\211\211C\321\"\305\212eb\210\322\305\306#\205u\323 \262\211??\262\211\203\246\211b\210 \242B\240\210\211b\210\317y\210\211\305\211\223\210\322\305\306#\205\241\323 \262\202|)\204\257 \210\266*\266\324 \210\325!\210\266\n)\207" [dired-du-dir-info case-fold-search inhibit-read-only dired-du--create-or-check-dir-info dired-du-get-marked-files nil t all-marks dired-du-distinguish-one-marked cl-delete-if make-closure #[257 "\301!\302\300\"\205\211\303\235?\207" [V0 file-name-nondirectory dired-du--file-in-dir-info-p ("." "..")] 5 "\n\n(fn X)"] "Dired-Du catching file info ..." make-progress-reporter 0 1 #[0 "\306\307\310\"\307\211\211\211\212\302\235\203H\311 \203H\312!\262\313 \262\314!\262\305\211\242T\240\210\300\315\307\316\"C\262)\203H\211\203H\203H\300\203H\317\"\210)\203Y\212\301b\210\320\304\305\242\303#\210)\307\207" [V0 V1 V2 V3 V4 V5 dired-get-filename nil noerror dired-move-to-filename file-name-directory dired-du-directory-at-current-line-p dired-du--subdir-position dired-du-get-file-info dir-dots dired-du--global-update-dir-info progress-reporter-force-update dired-du-mode] 9] dired-du-marker-regexp re-search-forward point-marker dired-move-to-filename progress-reporter-done] 25 (#$ . 58887)]) #@272 Helper function for `dired-du-count-sizes'. Return list (MARK NUM_NON_DIRS NUM_DIRS TOTAL_SIZE). If arg ALL-MARKS, non-nil, then use all character marks in the buffer. If arg INCLUDE-DIRS, if non-nil, then include the directory sizes. (fn MARK ALL-MARKS INCLUDE-DIRS) (defalias 'dired-du--count-sizes-2 #[771 "\211\2030\3061\307@\310\211\211 %0\202\210\310\311=\2040\n\2040\312\313 \210\314\315!\210\316\317!\210\314\310!\210\320=\203A\314\321!\210\316\317!\210\322 \207\212\323\310\211\211\312%\324!\211G\325\310\312\310\211\211C\326\f\f\"\310\212eb\210\327\310\312#\205o\330 \262\211??\262\211\203\246\211b\210\331 \205\207\332\310\333\"\242B\240\210\211b\210\317y\210\211\310\211\223\210\327\310\312#\205\241\330 \262\202v)\242G\317U\203\266\312\242B\240\210\203\301\242\266\202\202\315\331 \205\312\332\310\333\"C\266\202*\266\204\334 \210\"\324!\211GZ\335\310\n  %\336\337\340\341\325\310\312\310\211\211C\326\"\310\212eb\210\327\310\312#\205\n\330 \262\211??\262\211\203@\211b\210\331 ?\205!\342 \242B\240\210\211b\210\317y\210\211\310\211\223\210\327\310\312#\205;\330 \262\202)\242G\317U\203P\312\242B\240\210\203[\242\266\202\202f\331 ?\205c\342 C\266\202*\266\204\334 \210\"\324!\262\"\"\211\310 \203\300\311U\204\300\203\221A@\343\230\203\221\344\202\222\345\203\256\336\337\340\346\347 \" \"\"_\\\262\266\202\300\340\350 \"\336\337\"_\\\262\266 \312=\203\314\351!\202\342 \204\327\352\353\"\202\342\354\352\355\"!\356!\262\262 F\266\213)\207" [dired-du-used-space-program null-device dired-du--user-warned case-fold-search inhibit-read-only dired-du-size-format (error) process-file nil 0 t beep message "Program `dired-du-used-space-program' not found.\nFallback to calculate recursive dir size in Lisp.\nPlease, consider install a 'du' executable suitable to your platform." sit-for 1 13 "Mark cannot be \\r" ding dired-du-get-marked-files dired-du-distinguish-one-marked delq dired-du-marker-regexp re-search-forward point-marker dired-du-directory-at-current-line-p dired-get-filename noerror dired-move-to-filename dired-du--cache-dir-info apply + mapcar #[257 "\300\301\302\"!\207" [dired-du-string-to-number dired-du-alist-get size] 5 "\n\n(fn X)"] dired-du-get-file-info "-sk" 1024.0 1.0 make-closure #[257 "\301!\302!\303\304\300$\211\203\305!\206\306\207" [V0 dired-du-filename-relative-to-default-dir dired-du--fullname-to-glob-pos dired-du--get-value size dired-du-string-to-number 0] 8 "\n\n(fn NAME)"] #[257 "\212\300!\203\f\301 \206 \302)\207" [dired-goto-file dired-du-get-recursive-dir-size 0] 3 "\n\n(fn FULLNAME)"] file-size-human-readable format "%d" string-to-number "%.0f" dired-du-use-comma-separator] 27 (#$ . 61017)]) #@250 Helper function for `dired-du-count-sizes'. Return alist (MARK . TOTAL_SIZE). If arg ALL-MARKS, non-nil, then use all character marks in the buffer. If arg INCLUDE-DIRS, non-nil, then include the directory sizes. (fn MARK ALL-MARKS INCLUDE-DIRS) (defalias 'dired-du--count-sizes-1 #[771 "\204\262\301 \302\204\303\302#C\207\204\304\305!\210\211\2035\211@\303\302#B\262A\266\202\202\210\207" [dired-marker-char dired-du-get-all-marks nil dired-du--count-sizes-2 error "No marked files"] 11 (#$ . 63816)]) #@578 Count sizes of files marked with MARK. If MARK evaluates nil, then use `dired-marker-char'. Optional arg ALL-MARKS, if non-nil, then accept all mark characters. Optional arg INCLUDE-DIRS, if non-nil, include the recursive size of the marked directories. If called interactively with a prefix, then prompt for previous args. Otherwise, all optional arguments but INCLUDE-DIRS are nil, and INCLUDE-DIRS is set to variable `dired-du-mode'. Directories '.' '..' are not special: if they are marked, then return their recursive size. (fn MARK &optional ALL-MARKS INCLUDE-DIRS) (defalias 'dired-du-count-sizes #[769 "\212\301#\302\303!\304rq\210\305 \210\211\203k\211@\211@A@\3068\3078\\\211\310U\2036\311\312\313!\"\202]\311\314\313!\315! \316=\203P\317\202Q\320\204Z\321\202[\317& \262c\266A\266\202\202\210)A\203z\322!\266\203\202\202\323\310\324O!\266\203)\207" [dired-du-size-format dired-du--count-sizes-1 get-buffer-create "*dired-du-count-sizes*" nil erase-buffer 2 3 0 format "No marked files with mark '%s'\n" char-to-string "Marked with '%s' %d file%s (%d/%d dirs/files) with total size %s%s%s\n" dired-plural-s t "" " bytes" " (dirs size excluded)" display-buffer message -1] 23 (#$ . 64353) (byte-code "\304 \211\205\n\305\306!\203\211\204\307\310!\210\311 \206\n \206'\205'\305\312!E)\207" [cursor-in-echo-area current-prefix-arg dired-marker-char dired-du-mode t y-or-n-p "All marks? " message "Count files marked with mark: " read-char "Include directories? "] 7)]) #@35 Insert all marked subdirectories. (defalias 'dired-du-insert-marked-dirs #[0 "\301\302\"\216\212\211\203\300\303!\210\304\305\306 \"*\207" [dired-du-mode make-closure #[0 "\300\205\301 \207" [V0 dired-du-mode] 1] -1 mapc dired-maybe-insert-subdir dired-du-get-marked-files] 4 (#$ . 65898) nil]) #@47 Drop all subdirs in the current Dired buffer. (defalias 'dired-du-drop-all-subdirs #[0 "A\203\301@@!\210\202eb\210\302 \207" [dired-subdir-alist dired-unsubdir dired-revert] 2 (#$ . 66205) nil]) (provide 'dired-du)