;ELC   
;;; Compiled
;;; in Emacs version 25.3.1
;;; 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\310\305&\210\312\322\314\315\323DD\324\310\305\320\315&\210\312\325\314\315\326DD\327\310\305\320\330&\210\312\331\314\315\332DD\333\310\305\334\335\320\336&	\210\337\340\341\342\310\305%\210\337\343\344\342\310\305%\210\337\345\346\347\310\305%\210\312\350\314\315\351DD\352\353\354\355\356\310\305\320\357&\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 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 (#$ . 2385) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
#@191 Hook run after entering or leaving `dired-async--modeline-mode'.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar dired-async--modeline-mode-hook nil (#$ . 3203))
(byte-code "\301\302\303\304\300!\205\n \305\211%\207" [dired-async--modeline-mode-map 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 (#$ . 3725)])
(defalias 'dired-async-processes #[0 "\300 \301\211:\203A @\262\302!\301\303\301:\2030 @\262\304\230\211\262?\211\262\2030 A\262\202 \266\203\203: B\262A\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!\210G\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\305\306\301@\302G\300\307\300!&\210\202' \303\203' \f\310\306\301@\303G\300\307\300!&\210\f\311\312\301@\301A@\300\307\300!&\207" vconcat vector [dired-async-message-function "%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" "Asynchronous %s of %s on %s file%s done" dired-async-message] 8] 16 (#$ . 4496)])
#@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 (#$ . 5548)])
#@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 "\306G\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\315E\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\257 B	\242B\240\204\322 \312!\n\242B\240\210\310\330$\210\202\322 B	\242B\240\210\266A\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\203A\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\370D\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\203H rq\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 (#$ . 5839)])
(defalias 'dired-async-wdired-do-renames #[385 "\301\302\")\207" [wdired-use-interactive-rename nil apply] 5 "\n\n(fn OLD-FN &rest ARGS)"])
(byte-code "\300\301\302\303\304$\210\300\305\306\303\304$\210\307\310\311\312\313DD\314\315\316\317\320\321\322\323\324&\207" [ad-add-advice wdired-do-renames (wdired-async nil t (advice lambda nil (let (wdired-use-interactive-rename) ad-do-it))) around nil dired-create-files (dired-async nil t (advice lambda nil (dired-async-create-files file-creator operation fn-list name-constructor marker-char))) 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!\2031 \310\311\312\313#\210\310\314\315\316#\210\202W \317\311!\210\317\314!\210\202W \307\320!\203O \320\311\313\"\210\320\314\316\"\210\202W \321\311!\210\321\314!\210\322\323\304\300!\203c \324\202d \325\"\210\326\327!\203\216 \330\300!\210\301 \203| \211\301 \232\203\216 \331\332\333\304\300!\203\211 \334\202\212 \335#\266\210\336 \210\304\300!\207" [dired-async-mode current-message set-default toggle default-value prefix-numeric-value 0 fboundp advice-add dired-create-files :override dired-async-create-files wdired-do-renames :around dired-async-wdired-do-renames ad-activate advice-remove ad-deactivate 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 (#$ . 10383) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
#@181 Hook run after entering or leaving `dired-async-mode'.
No problems result if this variable is not bound.
`add-hook' automatically binds it.  (This is true for all hook variables.)
(defvar dired-async-mode-hook nil (#$ . 11454))
(byte-code "\301\302\303\304\300!\205\n \305\211%\207" [dired-async-mode-map 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\301BB\207" [cl-letf (((symbol-function 'dired-create-files) #'dired-async-create-files))] 4 (#$ . 11839)]))
(function-put 'dired-async--with-async-create-files 'lisp-indent-function 0)
#@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 (#$ . 12201) "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 (#$ . 12525) "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 (#$ . 12858) "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 (#$ . 13194) "P"])
(provide 'dired-async)
