;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311%\210\312\313\314\315\316DD\317\320\321%\210\312\322\314\315\323DD\324\320\315%\210\312\325\314\315\326DD\327\320\330%\210\312\331\314\315\332DD\333\334\335\320\336&\210\337\340\341\342#\210\337\343\344\342#\210\337\345\346\347#\210\312\350\314\315\351DD\352\353\354\355\356\310\357\320\360& \207" [require cl-lib dired-aux async custom-declare-group dired-async nil "Copy rename files asynchronously from dired." :group dired custom-declare-variable dired-async-env-variables-regexp funcall function #[0 "\300\207" [#1="\\`\\(tramp-\\(default\\|connection\\|remote\\)\\|ange-ftp\\)-.*"] 1 #1#] "Variables matching this regexp will be loaded on Child Emacs." :type regexp dired-async-message-function #[0 "\300\207" [dired-async-mode-line-message] 1] "Function to use to notify result when operation finish.\nShould take same args as `message'." dired-async-log-file #[0 "\300\207" [#2="/tmp/dired-async.log"] 1 #2#] "File use to communicate errors from Child Emacs to host Emacs." string dired-async-mode-lighter #[0 "\300\207" [(:eval (when (eq major-mode 'dired-mode) " Async"))] 1] "Mode line lighter used for `dired-async-mode'." :risky t sexp custom-declare-face dired-async-message ((t (:foreground "yellow"))) "Face used for mode-line message." dired-async-failures ((t (:foreground "red"))) dired-async-mode-message ((t (:foreground "Gold"))) "Face used for `dired-async--modeline-mode' lighter." dired-async--modeline-mode #[0 "\300\207" [nil] 1] "Non-nil if Dired-Async--Modeline mode is enabled.\nSee the `dired-async--modeline-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `dired-async--modeline-mode'." :set custom-set-minor-mode :initialize custom-initialize-default dired-async--modeline boolean] 12) #@65 Notify mode-line that an async process run. (fn &optional ARG) (defalias 'dired-async--modeline-mode #[256 "\302 \303\300\304=\203\305\300!?\202\306!\307V\"\210\204\"\310\311 \210)\312\313\305\300!\203.\314\202/\315\"\210\316\317!\203Y\320\300!\210\302 \203G\211\302 \232\203Y\321\322\323\305\300!\203T\324\202U\325#\266\210\326 \210\305\300!\207" [dired-async--modeline-mode visible-bell current-message set-default toggle default-value prefix-numeric-value 0 t ding run-hooks dired-async--modeline-mode-hook dired-async--modeline-mode-on-hook dired-async--modeline-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Dired-Async--Modeline mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 2346) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)]) (defvar dired-async--modeline-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\207" [dired-async--modeline-mode-map dired-async--modeline-mode-hook variable-documentation put "Hook run after entering or leaving `dired-async--modeline-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" add-minor-mode dired-async--modeline-mode (:eval (propertize (format " [%s Async job(s) running]" (length (dired-async-processes))) 'face 'dired-async-mode-message)) boundp nil] 6) #@68 Notify end of operation in `mode-line'. (fn TEXT FACE &rest ARGS) (defalias 'dired-async-mode-line-message #[642 "\301\302!\210\303\304\203\305\306#\202\307#P\310 \210\311\312!\210\310 )\207" [mode-line-format message nil " " propertize apply format face force-mode-line-update sit-for 3] 9 (#$ . 3766)]) (defalias 'dired-async-processes #[0 "\300 \301\211:\203A@\262\302!\301\303\301:\2030@\262\304\230\211\262?\211\262\2030A\262\202\266\203\203:B\262A\262\202\211\237\207" [process-list nil process-command t "async-batch-invoke"] 9]) (defalias 'dired-async-kill-process #[0 "\300 \301!@\211\203\302!\210G\303V?\205\304\305!\207" [dired-async-processes last delete-process 1 dired-async--modeline-mode -1] 4 nil nil]) #@109 Callback function used for operation handled by `dired-create-file'. (fn TOTAL OPERATION FAILURES SKIPPED) (defalias 'dired-async-after-file-create #[1028 "\303 \204 \304\305!\210\205E\306!\203/\307\310 !!\210db\210\311\312c\210\313!\210\314 \210\315 \210\316!\207\317\320\321\322\323\324\325\326    $\327\"\330$#\207" [dired-async-log-file dired-log-buffer inhibit-read-only dired-async-processes dired-async--modeline-mode -1 file-exists-p pop-to-buffer get-buffer-create t "Error: " insert-file-contents special-mode shrink-window-if-larger-than-buffer delete-file run-with-timer 0.1 nil make-byte-code 0 "\302\203\f\306\307\301@\302G\300\310\300!&\210\202'\303\203'\f\311\307\301@\303G\300\310\300!&\210 \203h \312\211:\203f@\262\211A\262\242\262\313!\203_rq\210\314\312\315#\204^\316!\203^\317\312\315\"\210)A\262\202.\266\f\320\321\301@\301A@\300\310\300!&\207" vconcat vector [dired-async-message-function dired-buffers "%s failed for %d of %d file%s -- See *Dired log* buffer" dired-async-failures dired-plural-s "%s: %d of %d file%s skipped -- See *Dired log* buffer" nil buffer-live-p file-remote-p t file-exists-p revert-buffer "Asynchronous %s of %s on %s file%s done" dired-async-message default-directory] 8] 16 (#$ . 4537)]) #@51 Return a form to kill ftp process in child emacs. (defalias 'dired-async-maybe-kill-ftp #[0 "\300\207" [(progn (require 'cl-lib) (let ((buf (cl-loop for b in (buffer-list) thereis (and (string-match "\\`\\*ftp.*" (buffer-name b)) b)))) (when buf (kill-buffer buf))))] 1 (#$ . 5824)]) #@181 Same as `dired-create-files' but asynchronous. See `dired-create-files' for the behavior of arguments. (fn FILE-CREATOR OPERATION FN-LIST NAME-CONSTRUCTOR &optional MARKER-CHAR) (defalias 'dired-async-create-files #[1284 "\306G\306C\306C\306C\306\211\306\211\203\333\211@ !\262\232\2034\f\307=\2044\306\262\310\311 \227#\210\204E\312!\242B\240\210\202\324\f\307=?\205P\313!\211\205`\314\315E\316\300\317#)\320!\321!\203z\321!\203z\322=\203z\211\262\323!@\324=\203\230\322=\203\230\325\"\203\230\326\327#\210\210\203\306\211\203\257B \242B\240\204\322\312!\n\242B\240\210\310\330$\210\202\322B \242B\240\210\266A\266\202\202\210\331\332!\203\242\203\242\306\211\324\306:\203@\262\211A\262\242\262\333!\211\262?\211\262\203A\262\202\355\266\204\203\334\202\335\242\204'\242\203+\310\324!\210\242\204a\242\203J \336\337\f\242G\n\340\f!&\210\202a\242\203a \341\337\f\242G\n\340\f!&\210\342\343\344\345\346    %\347\"\350\351%\266\202\242\205\333\352\353\306\354\355\356\357\f!\360\361\305 DD\362\363\364\365\366\367\370D\371\372\373\370\242D\374BBBBBBBBB\375\376\377\201A\201B\201C\201D\201E@FEF\257\201F \257\"\210\201G\201H!\210\201I\201J\n\")\207" [overwrite-query async-quiet-switch help-form dired-async-message-function dired-async-env-variables-regexp dired-copy-preserve-time nil backup-file dired-log "Cannot %s to same file: %s\n" dired-make-relative file-exists-p format "Type SPC or `y' to overwrite file `%s',\nDEL or `n' to skip to next,\nESC or `q' to not overwrite any of the remaining files,\n`!' to overwrite all remaining files with no more questions." dired-query "Overwrite `%s'?" file-name-directory file-directory-p dired-copy-file file-attributes t file-in-directory-p error "Cannot copy `%s' into its subdirectory `%s'" "%s `%s' to `%s' failed\n" boundp tramp-cache-read-persistent-data file-remote-p "-q" "-Q" "%s failed for %d of %d file%s -- See *Dired log* buffer" dired-async-failures dired-plural-s "%s: %d of %d file%s skipped -- See *Dired log* buffer" make-byte-code 256 "\305\301\300\303\242GD\302\242\304\242$\210\300\227\306\230\205R\303\242\307\211\211\211:\203O@\262\211A\262\242\262\310!\262\311!\262\203H\211\203Hrq\210\312\313\211#\210)A\262\202\307\266\205\207" vconcat vector [dired-async-after-file-create "rename" nil get-file-buffer file-exists-p set-visited-file-name t] 10 "\n\n(fn &optional IGNORE)" async-start lambda (require 'cl-lib) (require 'dired-aux) (require 'dired-x) async-inject-variables let (dired-recursive-copies 'always) (setq overwrite-backup-query nil) (defalias 'backup-file (lambda (from to ok) (cond ((file-directory-p from) (ignore)) (t (let ((count 0)) (while (let ((attrs (file-attributes to))) (and attrs (null (nth 0 attrs)))) (cl-incf count) (setq to (concat (file-name-sans-versions to) (format ".~%s~" count))))) (condition-case err (copy-file from to ok dired-copy-preserve-time) (file-date-error (dired-log "Can't set date on %s:\n%s\n" from err))))))) cl-loop with fn = quote for (from . dest) in (do (condition-case err (funcall fn from dest t) (file-error (dired-log "%s: %s\n" (car err) (cdr err)) nil))) when (get-buffer dired-log-buffer) (dired-log t) dired-async-log-file with-current-buffer dired-log-buffer write-region (point-min) (point-max) dired-async-maybe-kill-ftp dired-async--modeline-mode 1 message "%s proceeding asynchronously..."] 31 (#$ . 6115)]) #@26 (fn OLD-FN &rest ARGS) (defalias 'dired-async-wdired-do-renames #[385 "\301\302\")\207" [wdired-use-interactive-rename nil apply] 5 (#$ . 9650)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315& \207" [custom-declare-variable dired-async-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Dired-Async mode is enabled.\nSee the `dired-async-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `dired-async-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group dired-async :type boolean] 12) #@54 Do dired actions asynchronously. (fn &optional ARG) (defalias 'dired-async-mode #[256 "\301 \302\300\303=\203\304\300!?\202\305!\306V\"\210\203+\307\310\311\312#\210\307\313\314\315#\210\2025\316\310\312\"\210\316\313\315\"\210\317\320\304\300!\203A\321\202B\322\"\210\323\324!\203l\325\300!\210\301 \203Z\211\301 \232\203l\326\327\330\304\300!\203g\331\202h\332#\266\210\333 \210\304\300!\207" [dired-async-mode current-message set-default toggle default-value prefix-numeric-value 0 advice-add dired-create-files :override dired-async-create-files wdired-do-renames :around dired-async-wdired-do-renames advice-remove run-hooks dired-async-mode-hook dired-async-mode-on-hook dired-async-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Dired-Async mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 10346) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)]) (defvar dired-async-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\207" [dired-async-mode-map dired-async-mode-hook variable-documentation put "Hook run after entering or leaving `dired-async-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" add-minor-mode dired-async-mode dired-async-mode-lighter boundp nil] 6) #@101 Evaluate BODY with ‘dired-create-files’ set to ‘dired-async-create-files’. (fn &rest BODY) (defalias 'dired-async--with-async-create-files '(macro . #[128 "\300\301BB\207" [cl-letf (((symbol-function 'dired-create-files) #'dired-async-create-files))] 4 (#$ . 11731)])) (byte-code "\300\301\302\303#\300\207" [function-put dired-async--with-async-create-files lisp-indent-function 0] 4) #@61 Run ‘dired-do-copy’ asynchronously. (fn &optional ARG) (defalias 'dired-async-do-copy #[256 "\300K\301\302\303\304\305!\306\"\307$\216\300\310M\210\311!)\207" [dired-create-files make-byte-code 0 "\301\300M\207" vconcat vector [dired-create-files] 2 dired-async-create-files dired-do-copy] 8 (#$ . 12133) "P"]) #@64 Run ‘dired-do-symlink’ asynchronously. (fn &optional ARG) (defalias 'dired-async-do-symlink #[256 "\300K\301\302\303\304\305!\306\"\307$\216\300\310M\210\311!)\207" [dired-create-files make-byte-code 0 "\301\300M\207" vconcat vector [dired-create-files] 2 dired-async-create-files dired-do-symlink] 8 (#$ . 12457) "P"]) #@65 Run ‘dired-do-hardlink’ asynchronously. (fn &optional ARG) (defalias 'dired-async-do-hardlink #[256 "\300K\301\302\303\304\305!\306\"\307$\216\300\310M\210\311!)\207" [dired-create-files make-byte-code 0 "\301\300M\207" vconcat vector [dired-create-files] 2 dired-async-create-files dired-do-hardlink] 8 (#$ . 12790) "P"]) #@63 Run ‘dired-do-rename’ asynchronously. (fn &optional ARG) (defalias 'dired-async-do-rename #[256 "\300K\301\302\303\304\305!\306\"\307$\216\300\310M\210\311!)\207" [dired-create-files make-byte-code 0 "\301\300M\207" vconcat vector [dired-create-files] 2 dired-async-create-files dired-do-rename] 8 (#$ . 13126) "P"]) (provide 'dired-async)