[elpa] master 8438ff5 2/3: Add inf-ruby mode to dont-indent-modes
branch: master commit 8438ff5e71ca040e7a1e325d608a3f5ea050503f Author: Artur MalabarbaCommit: Artur Malabarba Add inf-ruby mode to dont-indent-modes --- aggressive-indent.el |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/aggressive-indent.el b/aggressive-indent.el index 7894de6..e6dba72 100644 --- a/aggressive-indent.el +++ b/aggressive-indent.el @@ -4,7 +4,7 @@ ;; Author: Artur Malabarba ;; URL: https://github.com/Malabarba/aggressive-indent-mode -;; Version: 1.7 +;; Version: 1.8.1 ;; Package-Requires: ((emacs "24.1") (cl-lib "0.5")) ;; Keywords: indent lisp maint tools ;; Prefix: aggressive-indent @@ -129,6 +129,7 @@ Please include this in your report!" haskell-mode haskell-interactive-mode image-mode +inf-ruby-mode makefile-mode makefile-gmake-mode minibuffer-inactive-mode
[elpa] master updated (a49bd1c -> 283f470)
malabarba pushed a change to branch master. from a49bd1c Remove async-pkg.el file added by error during merge. new f2dc80a Remove remaining reference to aggressive-indent--check-parens new 8438ff5 Add inf-ruby mode to dont-indent-modes new 283f470 Merge commit '8438ff5e71ca040e7a1e325d608a3f5ea050503f' Summary of changes: packages/aggressive-indent/aggressive-indent.el |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
[elpa] master f2dc80a 1/3: Remove remaining reference to aggressive-indent--check-parens
branch: master commit f2dc80a95fc7645a3d860d0c730886cb3d64536b Author: Artur MalabarbaCommit: Artur Malabarba Remove remaining reference to aggressive-indent--check-parens --- aggressive-indent.el |1 - 1 file changed, 1 deletion(-) diff --git a/aggressive-indent.el b/aggressive-indent.el index f116129..7894de6 100644 --- a/aggressive-indent.el +++ b/aggressive-indent.el @@ -407,7 +407,6 @@ or messages." (cl-member-if #'derived-mode-p aggressive-indent-dont-electric-modes)) (aggressive-indent--local-electric nil) (aggressive-indent--local-electric t)) -(aggressive-indent--check-parens) (add-hook 'after-change-functions #'aggressive-indent--keep-track-of-changes nil 'local) (add-hook 'before-save-hook #'aggressive-indent--proccess-changed-list-and-indent nil 'local) (add-hook 'post-command-hook #'aggressive-indent--indent-if-changed nil 'local))
[elpa] master 6e29e82 17/39: Switch to lexical-binding.
branch: master commit 6e29e825fc44a57f98cc90498f3af6c34014 Author: Thierry VolpiattoCommit: Thierry Volpiatto Switch to lexical-binding. * async-bytecomp.el: Switch to lex. * async.el: Switch to lex. (async-when-done): Fix unused arg. (async-receive): Same. * dired-async.el: Switch to lex. (dired-async-create-files): Remove unused stuff and fix vars for lex env. * smtpmail-async.el: Switch to lex. --- async-bytecomp.el |2 +- async.el |8 dired-async.el| 31 +++ smtpmail-async.el |2 +- 4 files changed, 17 insertions(+), 26 deletions(-) diff --git a/async-bytecomp.el b/async-bytecomp.el index 54313c0..0e452b1 100644 --- a/async-bytecomp.el +++ b/async-bytecomp.el @@ -1,4 +1,4 @@ -;;; async-bytecomp.el --- Async functions to compile elisp files async +;;; async-bytecomp.el --- Compile elisp files asynchronously -*- lexical-binding: t -*- ;; Copyright (C) 2014-2016 Free Software Foundation, Inc. diff --git a/async.el b/async.el index 080fd34..dc73270 100644 --- a/async.el +++ b/async.el @@ -1,4 +1,4 @@ -;;; async.el --- Asynchronous processing in Emacs +;;; async.el --- Asynchronous processing in Emacs -*- lexical-binding: t -*- ;; Copyright (C) 2012-2016 Free Software Foundation, Inc. @@ -95,8 +95,8 @@ as follows: (unless async-debug (kill-buffer buf) -(defun async-when-done (proc change) - "Process sentinal used to retrieve the value from the child process." +(defun async-when-done (proc _change) + "Process sentinel used to retrieve the value from the child process." (when (eq 'exit (process-status proc)) (with-current-buffer (process-buffer proc) (let ((async-current-process proc)) @@ -201,7 +201,7 @@ its FINISH-FUNC is nil." (funcall async-callback args)) (async--transmit-sexp (car args) (list 'quote (cdr args)) -(defun async-receive ( args) +(defun async-receive () "Send the given messages to the asychronous Emacs PROCESS." (async--receive-sexp)) diff --git a/dired-async.el b/dired-async.el index 8c09f1f..b253ca2 100644 --- a/dired-async.el +++ b/dired-async.el @@ -1,4 +1,4 @@ -;;; dired-async.el --- Copy/move/delete asynchronously in dired. +;;; dired-async.el --- Asynchronous dired actions -*- lexical-binding: t -*- ;; Copyright (C) 2012-2016 Free Software Foundation, Inc. @@ -144,19 +144,18 @@ Should take same args as `message'." (buffer-name b)) b (when buf (kill-buffer buf)) +(defvar overwrite-query) (defun dired-async-create-files (file-creator operation fn-list name-constructor - marker-char) + _marker-char) "Same as `dired-create-files' but asynchronous. See `dired-create-files' for the behavior of arguments." (setq dired-async-operation nil) - (let (dired-create-files-failures -failures async-fn-list -skipped (success-count 0) -(total (length fn-list)) -callback) -(let (to overwrite-query - overwrite-backup-query); for dired-handle-overwrite + (setq overwrite-query nil) + (let ((total (length fn-list)) +dired-create-files-failures +failures async-fn-list skipped callback) +(let (to) (dolist (from fn-list) (setq to (funcall name-constructor from)) (if (equal to from) @@ -175,14 +174,7 @@ Type SPC or `y' to overwrite file `%s', DEL or `n' to skip to next, ESC or `q' to not overwrite any of the remaining files, `!' to overwrite all remaining files with no more questions." to))) - (dired-query 'overwrite-query -"Overwrite `%s'?" to - ;; must determine if FROM is marked before file-creator - ;; gets a chance to delete it (in case of a move). - (actual-marker-char -(cond ((integerp marker-char) marker-char) - (marker-char (dired-file-marker from)) ; slow - (t nil + (dired-query 'overwrite-query "Overwrite `%s'?" to) ;; Handle the `dired-copy-file' file-creator specially ;; When copying a directory to another directory or ;; possibly to itself or one of its subdirectories. @@ -246,9 +238,7 @@ ESC or `q' to not overwrite any of the remaining files, (format "%s: %d of %d file%s skipped" operation (length skipped) total (dired-plural-s total)) -skipped)) - (t (message "%s: %s file%s" - operation success-count (dired-plural-s success-count +skipped))) ;; Start async process. (when async-fn-list (async-start `(lambda () @@ -258,6
[elpa] master e35506f 18/39: Remove unuseful code never called.
branch: master commit e35506faac6315da3c25b72682c99210b2d0bb28 Author: Thierry VolpiattoCommit: Thierry Volpiatto Remove unuseful code never called. * dired-async.el (dired-async-create-files): Remove dired-create-files-failures stuff that don't happen on host but child. --- dired-async.el | 34 -- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/dired-async.el b/dired-async.el index b253ca2..418f265 100644 --- a/dired-async.el +++ b/dired-async.el @@ -153,7 +153,6 @@ See `dired-create-files' for the behavior of arguments." (setq dired-async-operation nil) (setq overwrite-query nil) (let ((total (length fn-list)) -dired-create-files-failures failures async-fn-list skipped callback) (let (to) (dolist (from fn-list) @@ -218,27 +217,18 @@ ESC or `q' to not overwrite any of the remaining files, (with-current-buffer (get-file-buffer file) (set-visited-file-name to nil t ;; Handle error happening in host emacs. -(cond - (dired-create-files-failures - (setq failures (nconc failures dired-create-files-failures)) - (dired-log-summary -(format "%s failed for %d file%s in %d requests" -operation (length failures) -(dired-plural-s (length failures)) -total) -failures)) - (failures - (dired-log-summary -(format "%s failed for %d of %d file%s" -operation (length failures) -total (dired-plural-s total)) -failures)) - (skipped - (dired-log-summary -(format "%s: %d of %d file%s skipped" -operation (length skipped) total -(dired-plural-s total)) -skipped))) +(cond (failures + (dired-log-summary +(format "%s failed for %d of %d file%s" +operation (length failures) +total (dired-plural-s total)) +failures)) + (skipped + (dired-log-summary +(format "%s: %d of %d file%s skipped" +operation (length skipped) total +(dired-plural-s total)) +skipped))) ;; Start async process. (when async-fn-list (async-start `(lambda ()
[elpa] master 858a3f9 13/39: Fix backup fn, DRY and ignore symlinks directories.
branch: master commit 858a3f9db6ca92191bcce6d40e984710a969ca75 Author: Thierry VolpiattoCommit: Thierry Volpiatto Fix backup fn, DRY and ignore symlinks directories. * dired-async.el (dired-async-create-files): Do it. --- dired-async.el |5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/dired-async.el b/dired-async.el index 00e17ce..64f958a 100644 --- a/dired-async.el +++ b/dired-async.el @@ -263,11 +263,10 @@ ESC or `q' to not overwrite any of the remaining files, ;; Symlinks are copied as file from source unlike ;; `dired-copy-file' which is same as cp -d. (lambda (from to ok) - (cond ((eq t (nth 0 (file-attributes from))) (ignore)) + (cond ((file-directory-p from) (ignore)) (t (let ((count 0)) (while (let ((attrs (file-attributes to))) - (and attrs - (null (nth 0 (file-attributes to) + (and attrs (null (nth 0 attrs (cl-incf count) (setq to (concat (file-name-sans-versions to) (format ".~%s~" count)
[elpa] master 1763517 14/39: Add comment no code change.
branch: master commit 1763517b556646f81ad14e166d19f4352beb03bd Author: Thierry VolpiattoCommit: Thierry Volpiatto Add comment no code change. * dired-async.el (dired-async-create-files): Do it. --- dired-async.el |1 + 1 file changed, 1 insertion(+) diff --git a/dired-async.el b/dired-async.el index 64f958a..18e86fc 100644 --- a/dired-async.el +++ b/dired-async.el @@ -262,6 +262,7 @@ ESC or `q' to not overwrite any of the remaining files, ;; Same feature as "cp --backup=numbered from to" ;; Symlinks are copied as file from source unlike ;; `dired-copy-file' which is same as cp -d. +;; Directories are omitted. (lambda (from to ok) (cond ((file-directory-p from) (ignore)) (t (let ((count 0))
[elpa] master 14170a4 35/39: Add more info in mode-line on failures.
branch: master commit 14170a45c8cf91a0133960442509197e683c256d Author: Thierry VolpiattoCommit: Thierry Volpiatto Add more info in mode-line on failures. * dired-async.el (dired-async-after-file-create): Mention dired log buffer. (dired-async-create-files): Mention dired log buffer. --- dired-async.el |8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dired-async.el b/dired-async.el index a6a1add..d0de789 100644 --- a/dired-async.el +++ b/dired-async.el @@ -141,13 +141,13 @@ Should take same args as `message'." ;; First send error messages. (cond (failures (funcall dired-async-message-function - "%s failed for %d of %d file%s" + "%s failed for %d of %d file%s -- See *Dired log* buffer" 'dired-async-failures (car operation) (length failures) total (dired-plural-s total))) (skipped (funcall dired-async-message-function - "%s: %d of %d file%s skipped" + "%s: %d of %d file%s skipped -- See *Dired log* buffer" 'dired-async-failures (car operation) (length skipped) total (dired-plural-s total @@ -241,13 +241,13 @@ ESC or `q' to not overwrite any of the remaining files, (unless async-fn-list (cond (failures (funcall dired-async-message-function -"%s failed for %d of %d file%s" +"%s failed for %d of %d file%s -- See *Dired log* buffer" 'dired-async-failures operation (length failures) total (dired-plural-s total))) (skipped (funcall dired-async-message-function -"%s: %d of %d file%s skipped" +"%s: %d of %d file%s skipped -- See *Dired log* buffer" 'dired-async-failures operation (length skipped) total (dired-plural-s total)
[elpa] master ed05631 03/39: Assign copyrights to the FSF, add autoloads file
branch: master commit ed056315897c605ca3cb447b3ed10ce2d0c56f1f Author: John WiegleyCommit: John Wiegley Assign copyrights to the FSF, add autoloads file --- async-autoloads.el | 129 async-bytecomp.el |3 +- async-pkg.el | 14 +- async-test.el |2 +- async.el |3 +- dired-async.el |3 +- smtpmail-async.el |2 +- 7 files changed, 137 insertions(+), 19 deletions(-) diff --git a/async-autoloads.el b/async-autoloads.el new file mode 100644 index 000..cb7d77a --- /dev/null +++ b/async-autoloads.el @@ -0,0 +1,129 @@ +;;; async-autoloads.el --- automatically extracted autoloads +;; +;;; Code: +(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path + +;;;### (autoloads nil "async" "async.el" (22157 39462 0 0)) +;;; Generated autoloads from async.el + +(autoload 'async-start-process "async" "\ +Start the executable PROGRAM asynchronously. See `async-start'. +PROGRAM is passed PROGRAM-ARGS, calling FINISH-FUNC with the +process object when done. If FINISH-FUNC is nil, the future +object will return the process object when the program is +finished. Set DEFAULT-DIRECTORY to change PROGRAM's current +working directory. + +\(fn NAME PROGRAM FINISH-FUNC PROGRAM-ARGS)" nil nil) + +(autoload 'async-start "async" "\ +Execute START-FUNC (often a lambda) in a subordinate Emacs process. +When done, the return value is passed to FINISH-FUNC. Example: + +(async-start + ;; What to do in the child process + (lambda () + (message \"This is a test\") + (sleep-for 3) + 222) + + ;; What to do when it finishes + (lambda (result) + (message \"Async process done, result should be 222: %s\" + result))) + +If FINISH-FUNC is nil or missing, a future is returned that can +be inspected using `async-get', blocking until the value is +ready. Example: + +(let ((proc (async-start + ;; What to do in the child process + (lambda () + (message \"This is a test\") + (sleep-for 3) + 222 + +(message \"I'm going to do some work here\") ;; + +(message \"Waiting on async process, result should be 222: %s\" + (async-get proc))) + +If you don't want to use a callback, and you don't care about any +return value form the child process, pass the `ignore' symbol as +the second argument (if you don't, and never call `async-get', it +will leave *emacs* process buffers hanging around): + +(async-start + (lambda () + (delete-file \"a remote file on a slow link\" nil)) + 'ignore) + +Note: Even when FINISH-FUNC is present, a future is still +returned except that it yields no value (since the value is +passed to FINISH-FUNC). Call `async-get' on such a future always +returns nil. It can still be useful, however, as an argument to +`async-ready' or `async-wait'. + +\(fn START-FUNC FINISH-FUNC)" nil nil) + +;;;*** + +;;;### (autoloads nil "async-bytecomp" "async-bytecomp.el" (22156 +;; 7687 0 0)) +;;; Generated autoloads from async-bytecomp.el + +(autoload 'async-byte-recompile-directory "async-bytecomp" "\ +Compile all *.el files in DIRECTORY asynchronously. +All *.elc files are systematically deleted before proceeding. + +\(fn DIRECTORY QUIET)" nil nil) + +(defvar async-bytecomp-package-mode nil "\ +Non-nil if Async-Bytecomp-Package mode is enabled. +See the command `async-bytecomp-package-mode' for a description of this minor mode. +Setting this variable directly does not take effect; +either customize it (see the info node `Easy Customization') +or call the function `async-bytecomp-package-mode'.") + +(custom-autoload 'async-bytecomp-package-mode "async-bytecomp" nil) + +(autoload 'async-bytecomp-package-mode "async-bytecomp" "\ +Byte compile asynchronously packages installed with package.el. +Async compilation of packages can be controlled by +`async-bytecomp-allowed-packages'. + +\(fn ARG)" t nil) + +;;;*** + +;;;### (autoloads nil "dired-async" "dired-async.el" (22156 7686 +;; 0 0)) +;;; Generated autoloads from dired-async.el + +(defvar dired-async-mode nil "\ +Non-nil if Dired-Async mode is enabled. +See the command `dired-async-mode' for a description of this minor mode. +Setting this variable directly does not take effect; +either customize it (see the info node `Easy Customization') +or call the function `dired-async-mode'.") + +(custom-autoload 'dired-async-mode "dired-async" nil) + +(autoload 'dired-async-mode "dired-async" "\ +Do dired actions asynchronously. + +\(fn ARG)" t nil) + +;;;*** + +;;;### (autoloads nil nil ("async-pkg.el" "async-test.el" "smtpmail-async.el") +;; (22157 39488 0 0)) + +;;;*** + +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;;
[elpa] master 4f6b98d 24/39: Fix operation arg of callback.
branch: master commit 4f6b98d08345a3b37b3cd5402d67353ece5f1ce1 Author: Thierry VolpiattoCommit: Thierry Volpiatto Fix operation arg of callback. * dired-async.el (dired-async-after-file-create): Use the car. --- dired-async.el |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dired-async.el b/dired-async.el index d971953..c4dca08 100644 --- a/dired-async.el +++ b/dired-async.el @@ -141,13 +141,13 @@ Should take same args as `message'." (funcall dired-async-message-function "%s failed for %d of %d file%s" 'dired-async-failures - operation (length failures) + (car operation) (length failures) total (dired-plural-s total))) (skipped (funcall dired-async-message-function "%s: %d of %d file%s skipped" 'dired-async-failures - operation (length skipped) total + (car operation) (length skipped) total (dired-plural-s total ;; Finally send the success message. (funcall dired-async-message-function
[elpa] master 228ec4b 34/39: Handle errors file by file instead of returning on first error.
branch: master commit 228ec4bb351a9e14e338b9cb09eeb4809957c909 Author: Thierry VolpiattoCommit: Thierry Volpiatto Handle errors file by file instead of returning on first error. * dired-async.el (dired-async-create-files): Do it. --- dired-async.el | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/dired-async.el b/dired-async.el index c6ff0b9..a6a1add 100644 --- a/dired-async.el +++ b/dired-async.el @@ -268,7 +268,6 @@ ESC or `q' to not overwrite any of the remaining files, (async-start `(lambda () (require 'cl-lib) (require 'dired-aux) (require 'dired-x) ,(async-inject-variables dired-async-env-variables-regexp) - (condition-case err (let ((dired-recursive-copies (quote always)) (dired-copy-preserve-time ,dired-copy-preserve-time)) @@ -295,11 +294,14 @@ ESC or `q' to not overwrite any of the remaining files, ;; Now run the FILE-CREATOR function on files. (cl-loop with fn = (quote ,file-creator) for (from . dest) in (quote ,async-fn-list) - do (funcall fn from dest t))) -(file-error - (dired-log "%s: %s\n" (car err) (cdr err)) - (dired-log t) - (with-current-buffer dired-log-buffer + 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) + (with-current-buffer dired-log-buffer (write-region (point-min) (point-max) ,dired-async-log-file ,(dired-async-maybe-kill-ftp))
[elpa] master 4d6efb9 25/39: Handle error also on host when async-list of file is empty.
branch: master commit 4d6efb904538c7e6fe89fba5741c818427a30ef2 Author: Thierry VolpiattoCommit: Thierry Volpiatto Handle error also on host when async-list of file is empty. * dired-async.el (dired-async-create-files): Do it. When only one file and user answer no handle error on host. --- dired-async.el | 17 + 1 file changed, 17 insertions(+) diff --git a/dired-async.el b/dired-async.el index c4dca08..c18ec53 100644 --- a/dired-async.el +++ b/dired-async.el @@ -229,6 +229,23 @@ ESC or `q' to not overwrite any of the remaining files, (dired-log "%s `%s' to `%s' failed" operation from to))) (push (cons from to) async-fn-list) + ;; When async-fn-list is empty that's mean only one file + ;; had to be copied and user finally answer NO. + ;; In this case async process will never start and callback + ;; will have no chance to run, so notify failures here. + (unless async-fn-list +(cond (failures + (funcall dired-async-message-function +"%s failed for %d of %d file%s" +'dired-async-failures +operation (length failures) +total (dired-plural-s total))) + (skipped + (funcall dired-async-message-function +"%s: %d of %d file%s skipped" +'dired-async-failures +operation (length skipped) total +(dired-plural-s total) ;; Setup callback. (setq callback (lambda ( _ignore)
[elpa] master b1b4569 06/39: fix a typo
branch: master commit b1b4569f5d4293326ea32eab417909f165601eed Author: Uwe KoloskaCommit: Uwe Koloska fix a typo --- async.el |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/async.el b/async.el index 24db2a1..080fd34 100644 --- a/async.el +++ b/async.el @@ -257,7 +257,7 @@ ready. Example: (async-get proc))) If you don't want to use a callback, and you don't care about any -return value form the child process, pass the `ignore' symbol as +return value from the child process, pass the `ignore' symbol as the second argument (if you don't, and never call `async-get', it will leave *emacs* process buffers hanging around):
[elpa] master 6552135 32/39: Improve how error buffer is displayed.
branch: master commit 65521354115e2a6ab7d8d2073a273a72208220bc Author: Thierry VolpiattoCommit: Thierry Volpiatto Improve how error buffer is displayed. * dired-async.el (dired-async-after-file-create): Do it. --- dired-async.el |7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dired-async.el b/dired-async.el index be6a68f..3f62cd5 100644 --- a/dired-async.el +++ b/dired-async.el @@ -127,10 +127,13 @@ Should take same args as `message'." (when operation (if (file-exists-p dired-async-log-file) (progn - (pop-to-buffer (get-buffer-create "*dired async*")) - (erase-buffer) + (pop-to-buffer (get-buffer-create dired-log-buffer)) + (goto-char (point-max)) + (setq inhibit-read-only t) (insert "Error: ") (insert-file-contents dired-async-log-file) + (special-mode) + (shrink-window-if-larger-than-buffer) (delete-file dired-async-log-file)) (run-with-timer 0.1 nil
[elpa] master 8d27590 21/39: Finally handle the failures correctly.
branch: master commit 8d27590ebaa916b10ec1697a52875d50d676 Author: Thierry VolpiattoCommit: Thierry Volpiatto Finally handle the failures correctly. * dired-async.el (dired-async-operation): Removed no more needed. (dired-async-failures): New face. (dired-async-mode-line-message): Use one more arg FACE. (dired-async-after-file-create): Handle failures. (dired-async-create-files): Pass failures args to callback. Remove code that is now never called since when the mode is turned off and we are no more async the job is delegated again to old dired function. --- dired-async.el | 56 +--- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/dired-async.el b/dired-async.el index 2da733a..a501466 100644 --- a/dired-async.el +++ b/dired-async.el @@ -44,7 +44,7 @@ (eval-when-compile (defvar async-callback)) -(defvar dired-async-operation nil) +;; (defvar dired-async-operation nil) (defgroup dired-async nil "Copy rename files asynchronously from dired." @@ -72,6 +72,11 @@ Should take same args as `message'." "Face used for mode-line message." :group 'dired-async) +(defface dired-async-failures +'((t (:foreground "red"))) + "Face used for mode-line message." + :group 'dired-async) + (defface dired-async-mode-message '((t (:foreground "Gold"))) "Face used for `dired-async--modeline-mode' lighter." @@ -87,7 +92,7 @@ Should take same args as `message'." (unless dired-async--modeline-mode (let ((visible-bell t)) (ding -(defun dired-async-mode-line-message (text args) +(defun dired-async-mode-line-message (text face args) "Notify end of operation in `mode-line'." (message nil) (let ((mode-line-format (concat @@ -95,7 +100,7 @@ Should take same args as `message'." (if args (apply #'format text args) text) -'face 'dired-async-message +'face face (force-mode-line-update) (sit-for 3) (force-mode-line-update))) @@ -114,13 +119,13 @@ Should take same args as `message'." (unless (> (length processes) 1) (dired-async--modeline-mode -1 -(defun dired-async-after-file-create (len-flist) +(defun dired-async-after-file-create (total operation failures skipped) "Callback function used for operation handled by `dired-create-file'." (unless (dired-async-processes) ;; Turn off mode-line notification ;; only when last process end. (dired-async--modeline-mode -1)) - (when dired-async-operation + (when operation (if (file-exists-p dired-async-log-file) (progn (pop-to-buffer (get-buffer-create "*dired async*")) @@ -130,8 +135,25 @@ Should take same args as `message'." (delete-file dired-async-log-file)) (run-with-timer 0.1 nil - dired-async-message-function "Asynchronous %s of %s file(s) on %s file(s) done" - (car dired-async-operation) (cadr dired-async-operation) len-flist + (lambda () + ;; First send error messages. + (cond (failures + (funcall dired-async-message-function + "%s failed for %d of %d file%s" + 'dired-async-failures + operation (length failures) + total (dired-plural-s total))) + (skipped + (funcall dired-async-message-function + "%s: %d of %d file%s skipped" + 'dired-async-failures + operation (length skipped) total + (dired-plural-s total + ;; Finally send the success message. + (funcall dired-async-message-function +"Asynchronous %s of %s file(s) on %s file(s) done" +'dired-async-message +(car operation) (cadr operation) total)) (defun dired-async-maybe-kill-ftp () "Return a form to kill ftp process in child emacs." @@ -150,7 +172,6 @@ Should take same args as `message'." "Same as `dired-create-files' but asynchronous. See `dired-create-files' for the behavior of arguments." - (setq dired-async-operation nil) (setq overwrite-query nil) (let ((total (length fn-list)) failures async-fn-list skipped callback) @@ -208,27 +229,16 @@ ESC or `q' to not overwrite any of the remaining files, (dired-log "%s `%s' to `%s' failed" operation from to))) (push (cons from to) async-fn-list) + ;; Setup callback. (setq callback (lambda ( _ignore) - (dired-async-after-file-create total) +
[elpa] master 1ce4381 10/39: Allow reproducing "cp --backup=numbered from to".
branch: master commit 1ce438174ab0dd1f101709b76a9febe80fdcfaa8 Author: Thierry VolpiattoCommit: Thierry Volpiatto Allow reproducing "cp --backup=numbered from to". * dired-async.el (dired-async-create-files): When using a file-creator named 'backup-file, files are copied to destination without overwriting existing files, making a versionned copy of original files. --- dired-async.el | 20 +--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/dired-async.el b/dired-async.el index ecab9cb..461e1dd 100644 --- a/dired-async.el +++ b/dired-async.el @@ -166,7 +166,8 @@ See `dired-create-files' for the behavior of arguments." (downcase operation) from))) (if (not to) (setq skipped (cons (dired-make-relative from) skipped)) -(let* ((overwrite (file-exists-p to)) +(let* ((overwrite (and (null (eq file-creator 'backup-file)) + (file-exists-p to))) (dired-overwrite-confirmed ; for dired-handle-overwrite (and overwrite (let ((help-form '(format "\ @@ -255,8 +256,21 @@ ESC or `q' to not overwrite any of the remaining files, ,(async-inject-variables dired-async-env-variables-regexp) (condition-case err (let ((dired-recursive-copies (quote always))) -(cl-loop for (f . d) in (quote ,async-fn-list) - do (funcall (quote ,file-creator) f d t))) +(defalias 'backup-file +;; Same feature as "cp --backup=numbered from to" +(lambda (from to ok) + (when (null (nth 0 (file-attributes from))) +(let ((count 0)) + (while (let ((attrs (file-attributes to))) + (and attrs +(null (nth 0 (file-attributes to) +(cl-incf count) +(setq to (concat (file-name-sans-versions to) + (format ".~%s~" count) +(copy-file from to ok dired-copy-preserve-time +(cl-loop with fn = (quote ,file-creator) + for (from . dest) in (quote ,async-fn-list) + do (funcall fn from dest t))) (file-error (with-temp-file ,dired-async-log-file (insert (format "%S" err)
[elpa] master 9a82294 26/39: DRY use apply.
branch: master commit 9a82294528eb8752898ab6c130ec575db11ab687 Author: Thierry VolpiattoCommit: Thierry Volpiatto DRY use apply. * dired-async.el (dired-async-after-file-create): Do it. (dired-async-create-files): Do it. --- dired-async.el | 46 ++ 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/dired-async.el b/dired-async.el index c18ec53..1865eda 100644 --- a/dired-async.el +++ b/dired-async.el @@ -137,18 +137,17 @@ Should take same args as `message'." 0.1 nil (lambda () ;; First send error messages. - (cond (failures - (funcall dired-async-message-function - "%s failed for %d of %d file%s" - 'dired-async-failures - (car operation) (length failures) - total (dired-plural-s total))) - (skipped - (funcall dired-async-message-function - "%s: %d of %d file%s skipped" - 'dired-async-failures - (car operation) (length skipped) total - (dired-plural-s total + (apply dired-async-message-function + (cond (failures + (list "%s failed for %d of %d file%s" + 'dired-async-failures + (car operation) (length failures) + total (dired-plural-s total))) +(skipped + (list "%s: %d of %d file%s skipped" + 'dired-async-failures + (car operation) (length skipped) total + (dired-plural-s total) ;; Finally send the success message. (funcall dired-async-message-function "Asynchronous %s of %s file(s) on %s file(s) done" @@ -234,18 +233,17 @@ ESC or `q' to not overwrite any of the remaining files, ;; In this case async process will never start and callback ;; will have no chance to run, so notify failures here. (unless async-fn-list -(cond (failures - (funcall dired-async-message-function -"%s failed for %d of %d file%s" -'dired-async-failures -operation (length failures) -total (dired-plural-s total))) - (skipped - (funcall dired-async-message-function -"%s: %d of %d file%s skipped" -'dired-async-failures -operation (length skipped) total -(dired-plural-s total) +(apply dired-async-message-function + (cond (failures + (list "%s failed for %d of %d file%s" +'dired-async-failures +operation (length failures) +total (dired-plural-s total))) + (skipped + (list "%s: %d of %d file%s skipped" +'dired-async-failures +operation (length skipped) total +(dired-plural-s total)) ;; Setup callback. (setq callback (lambda ( _ignore)
[elpa] master d1cc5e0 04/39: Fix UTF-8 encoding for strings passed to subordinate Emacs
branch: master commit d1cc5e0911bb6ff5f2a49f4bc5366fd8290c5104 Author: John WiegleyCommit: John Wiegley Fix UTF-8 encoding for strings passed to subordinate Emacs --- async.el | 40 +--- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/async.el b/async.el index 20a2f17..24db2a1 100644 --- a/async.el +++ b/async.el @@ -121,7 +121,9 @@ as follows: (defun async--receive-sexp ( stream) (let ((sexp (decode-coding-string (base64-decode-string - (read stream)) 'utf-8-unix))) + (read stream)) 'utf-8-unix)) + ;; Parent expects UTF-8 encoded text. + (coding-system-for-write 'utf-8-unix)) (if async-debug (message "Received sexp {{{%s}}}" (pp-to-string sexp))) (setq sexp (read sexp)) @@ -130,7 +132,10 @@ as follows: (eval sexp))) (defun async--insert-sexp (sexp) - (let (print-level print-length) + (let (print-level + print-length + (print-escape-nonascii t) + (print-circle t)) (prin1 sexp (current-buffer)) ;; Just in case the string we're sending might contain EOF (encode-coding-region (point-min) (point-max) 'utf-8-unix) @@ -147,18 +152,21 @@ as follows: (defun async-batch-invoke () "Called from the child Emacs process' command-line." - (setq async-in-child-emacs t -debug-on-error async-debug) - (if debug-on-error - (prin1 (funcall - (async--receive-sexp (unless async-send-over-pipe - command-line-args-left -(condition-case err -(prin1 (funcall -(async--receive-sexp (unless async-send-over-pipe - command-line-args-left - (error - (prin1 (list 'async-signal err)) + ;; Make sure 'message' and 'prin1' encode stuff in UTF-8, as parent + ;; process expects. + (let ((coding-system-for-write 'utf-8-unix)) +(setq async-in-child-emacs t + debug-on-error async-debug) +(if debug-on-error + (prin1 (funcall + (async--receive-sexp (unless async-send-over-pipe + command-line-args-left + (condition-case err + (prin1 (funcall + (async--receive-sexp (unless async-send-over-pipe +command-line-args-left + (error +(prin1 (list 'async-signal err))) (defun async-ready (future) "Query a FUTURE to see if the ready is ready -- i.e., if no blocking @@ -263,7 +271,9 @@ returned except that it yields no value (since the value is passed to FINISH-FUNC). Call `async-get' on such a future always returns nil. It can still be useful, however, as an argument to `async-ready' or `async-wait'." - (let ((sexp start-func)) + (let ((sexp start-func) + ;; Subordinate Emacs will send text encoded in UTF-8. + (coding-system-for-read 'utf-8-unix)) (setq async--procvar (async-start-process "emacs" (file-truename
[elpa] master a7e8cf3 30/39: When failures have been printed to dired log add the date at bob.
branch: master commit a7e8cf3c93b403253d304981ef239521d074a419 Author: Thierry VolpiattoCommit: Thierry Volpiatto When failures have been printed to dired log add the date at bob. * dired-async.el (dired-async-create-files): Use dired-log with t. --- dired-async.el |2 ++ 1 file changed, 2 insertions(+) diff --git a/dired-async.el b/dired-async.el index d7377a9..df8ea01 100644 --- a/dired-async.el +++ b/dired-async.el @@ -228,6 +228,8 @@ ESC or `q' to not overwrite any of the remaining files, (dired-log "%s `%s' to `%s' failed\n" operation from to))) (push (cons from to) async-fn-list) + ;; When failures have been printed to dired log add the date at bob. + (when (or failures skipped) (dired-log t)) ;; When async-fn-list is empty that's mean only one file ;; had to be copied and user finally answer NO. ;; In this case async process will never start and callback
[elpa] master 8632abd 39/39: Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa
branch: master commit 8632abdbe39180435dcf44b3d547aa81af31cf0a Merge: 527c590 4c77f20 Author: Thierry VolpiattoCommit: Thierry Volpiatto Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa --- packages/aggressive-indent/aggressive-indent.el | 17 ++--- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/packages/aggressive-indent/aggressive-indent.el b/packages/aggressive-indent/aggressive-indent.el index ac3ff96..9c1f7d7 100644 --- a/packages/aggressive-indent/aggressive-indent.el +++ b/packages/aggressive-indent/aggressive-indent.el @@ -348,10 +348,6 @@ or messages." "List of (left right) limit of regions changed in the last command loop.") (make-variable-buffer-local 'aggressive-indent--changed-list) -(defvar aggressive-indent--balanced-parens t - "Non-nil if the current-buffer has balanced parens.") -(make-variable-buffer-local 'aggressive-indent--balanced-parens) - (defun aggressive-indent--proccess-changed-list-and-indent () "Indent the regions in `aggressive-indent--changed-list'." (let ((inhibit-modification-hooks t) @@ -371,7 +367,7 @@ or messages." (defun aggressive-indent--indent-if-changed () "Indent any region that changed in the last command loop." - (when (and aggressive-indent--changed-list aggressive-indent--balanced-parens) + (when aggressive-indent--changed-list (save-excursion (save-selected-window (unless (or (run-hook-wrapped 'aggressive-indent--internal-dont-indent-if #'eval) @@ -380,19 +376,10 @@ or messages." (redisplay) (aggressive-indent--proccess-changed-list-and-indent))) -(defun aggressive-indent--check-parens () - "Check if parens are balanced in the current buffer. -Store result in `aggressive-indent--balanced-parens'." - (setq aggressive-indent--balanced-parens -(save-excursion - (ignore-errors -(zerop (car (syntax-ppss (point-max - (defun aggressive-indent--keep-track-of-changes (l r _) "Store the limits (L and R) of each change in the buffer." (when aggressive-indent-mode -(push (list l r) aggressive-indent--changed-list) -(aggressive-indent--check-parens))) +(push (list l r) aggressive-indent--changed-list))) ;;; Minor modes ;;;###autoload
[elpa] master 8d1a26d 29/39: Remove unused commented code.
branch: master commit 8d1a26de6c716127b67d3b0c6808d5beeb13bba2 Author: Thierry VolpiattoCommit: Thierry Volpiatto Remove unused commented code. --- dired-async.el |1 - 1 file changed, 1 deletion(-) diff --git a/dired-async.el b/dired-async.el index 41f9f62..d7377a9 100644 --- a/dired-async.el +++ b/dired-async.el @@ -44,7 +44,6 @@ (eval-when-compile (defvar async-callback)) -;; (defvar dired-async-operation nil) (defgroup dired-async nil "Copy rename files asynchronously from dired."
[elpa] master 66545d8 08/39: Debian and Ubuntu installation instructions
branch: master commit 66545d855fcd19cd1e5e9e7034caab1d1b6920af Author: Sean WhittonCommit: Sean Whitton Debian and Ubuntu installation instructions This ELPA package is now available from the Debian and Ubuntu package repositories. --- README.md |4 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index a5b0866..e19fb5a 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,10 @@ you can disable this by running the copy, rename etc... commands with a prefix a If you don't want to make dired/helm asynchronous disable it with `dired-async-mode`. +### Debian and Ubuntu + +Users of Debian 9 or later or Ubuntu 16.04 or later may simply `apt-get install elpa-async`. + ## Enable asynchronous compilation of your (M)elpa packages By default emacs package.el compile packages in its running emacs session.
[elpa] master dc63e41 27/39: Revert last commit.
branch: master commit dc63e41323d772bb1b4b9870fad08ac65745b7f2 Author: Thierry VolpiattoCommit: Thierry Volpiatto Revert last commit. --- dired-async.el | 46 -- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/dired-async.el b/dired-async.el index 1865eda..c18ec53 100644 --- a/dired-async.el +++ b/dired-async.el @@ -137,17 +137,18 @@ Should take same args as `message'." 0.1 nil (lambda () ;; First send error messages. - (apply dired-async-message-function - (cond (failures - (list "%s failed for %d of %d file%s" - 'dired-async-failures - (car operation) (length failures) - total (dired-plural-s total))) -(skipped - (list "%s: %d of %d file%s skipped" - 'dired-async-failures - (car operation) (length skipped) total - (dired-plural-s total) + (cond (failures + (funcall dired-async-message-function + "%s failed for %d of %d file%s" + 'dired-async-failures + (car operation) (length failures) + total (dired-plural-s total))) + (skipped + (funcall dired-async-message-function + "%s: %d of %d file%s skipped" + 'dired-async-failures + (car operation) (length skipped) total + (dired-plural-s total ;; Finally send the success message. (funcall dired-async-message-function "Asynchronous %s of %s file(s) on %s file(s) done" @@ -233,17 +234,18 @@ ESC or `q' to not overwrite any of the remaining files, ;; In this case async process will never start and callback ;; will have no chance to run, so notify failures here. (unless async-fn-list -(apply dired-async-message-function - (cond (failures - (list "%s failed for %d of %d file%s" -'dired-async-failures -operation (length failures) -total (dired-plural-s total))) - (skipped - (list "%s: %d of %d file%s skipped" -'dired-async-failures -operation (length skipped) total -(dired-plural-s total)) +(cond (failures + (funcall dired-async-message-function +"%s failed for %d of %d file%s" +'dired-async-failures +operation (length failures) +total (dired-plural-s total))) + (skipped + (funcall dired-async-message-function +"%s: %d of %d file%s skipped" +'dired-async-failures +operation (length skipped) total +(dired-plural-s total) ;; Setup callback. (setq callback (lambda ( _ignore)
[elpa] master 2bfd6a0 15/39: Ensure dired-copy-preserve-time is passed to child with its current value.
branch: master commit 2bfd6a0741cecfaacc83d69fb3e292c5f2053c53 Author: Thierry VolpiattoCommit: Thierry Volpiatto Ensure dired-copy-preserve-time is passed to child with its current value. Using inject would load dozen of unneeded dired stuff. * dired-async.el (dired-async-create-files): Do it. --- dired-async.el |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dired-async.el b/dired-async.el index 18e86fc..41f2b79 100644 --- a/dired-async.el +++ b/dired-async.el @@ -255,7 +255,9 @@ ESC or `q' to not overwrite any of the remaining files, (require 'cl-lib) (require 'dired-aux) (require 'dired-x) ,(async-inject-variables dired-async-env-variables-regexp) (condition-case err - (let ((dired-recursive-copies (quote always))) + (let ((dired-recursive-copies (quote always)) +(dired-copy-preserve-time + ,dired-copy-preserve-time)) ;; Inline `backup-file' as long as it is not ;; available in emacs. (defalias 'backup-file
[elpa] master af8933d 20/39: Unquote all callbacks.
branch: master commit af8933de25fda0be467055eaf83611acfce27c0b Author: Thierry VolpiattoCommit: Thierry Volpiatto Unquote all callbacks. * async-bytecomp.el (async-byte-recompile-directory): Do it. * dired-async.el (dired-async-create-files): Do it. * smtpmail-async.el (async-smtpmail-send-it): Do it. --- async-bytecomp.el | 42 +- dired-async.el|8 smtpmail-async.el |4 ++-- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/async-bytecomp.el b/async-bytecomp.el index 0e452b1..2c96da0 100644 --- a/async-bytecomp.el +++ b/async-bytecomp.el @@ -65,27 +65,27 @@ All *.elc files are systematically deleted before proceeding." ;; This happen when recompiling its own directory. (load "async") (let ((call-back - `(lambda ( ignore) -(if (file-exists-p async-byte-compile-log-file) -(let ((buf (get-buffer-create byte-compile-log-buffer)) - (n 0)) - (with-current-buffer buf -(goto-char (point-max)) -(let ((inhibit-read-only t)) - (insert-file-contents async-byte-compile-log-file) - (compilation-mode)) -(display-buffer buf) -(delete-file async-byte-compile-log-file) -(unless ,quiet - (save-excursion -(goto-char (point-min)) -(while (re-search-forward "^.*:Error:" nil t) - (cl-incf n))) - (if (> n 0) - (message "Failed to compile %d files in directory `%s'" n ,directory) - (message "Directory `%s' compiled asynchronously with warnings" ,directory) -(unless ,quiet - (message "Directory `%s' compiled asynchronously with success" ,directory)) + (lambda ( _ignore) + (if (file-exists-p async-byte-compile-log-file) + (let ((buf (get-buffer-create byte-compile-log-buffer)) + (n 0)) + (with-current-buffer buf + (goto-char (point-max)) + (let ((inhibit-read-only t)) + (insert-file-contents async-byte-compile-log-file) + (compilation-mode)) + (display-buffer buf) + (delete-file async-byte-compile-log-file) + (unless quiet + (save-excursion + (goto-char (point-min)) + (while (re-search-forward "^.*:Error:" nil t) + (cl-incf n))) + (if (> n 0) + (message "Failed to compile %d files in directory `%s'" n directory) + (message "Directory `%s' compiled asynchronously with warnings" directory) + (unless quiet + (message "Directory `%s' compiled asynchronously with success" directory)) (async-start `(lambda () (require 'bytecomp) diff --git a/dired-async.el b/dired-async.el index 4920e78..2da733a 100644 --- a/dired-async.el +++ b/dired-async.el @@ -209,10 +209,10 @@ ESC or `q' to not overwrite any of the remaining files, operation from to))) (push (cons from to) async-fn-list) (setq callback -`(lambda ( ignore) - (dired-async-after-file-create ,total) - (when (string= ,(downcase operation) "rename") - (cl-loop for (file . to) in ',async-fn-list +(lambda ( _ignore) + (dired-async-after-file-create total) + (when (string= (downcase operation) "rename") + (cl-loop for (file . to) in async-fn-list for bf = (get-file-buffer file) do (and bf (with-current-buffer bf (set-visited-file-name to nil t diff --git a/smtpmail-async.el b/smtpmail-async.el index 0a65a98..6fcf287 100644 --- a/smtpmail-async.el +++ b/smtpmail-async.el @@ -65,8 +65,8 @@ It is called just before calling `smtpmail-send-it'.") nil "\\`\\(mail-header-format-function\\|smtpmail-address-buffer\\|mail-mode-abbrev-table\\)") (run-hooks 'async-smtpmail-before-send-hook) (smtpmail-send-it))) - `(lambda ( ignore) -(message "Delivering message to %s...done" ,to) + (lambda ( _ignore) + (message "Delivering message to %s...done" to) (provide 'smtpmail-async)
[elpa] master c9ddbbc 11/39: Merge pull request #62 from jwiegley/backup_files
branch: master commit c9ddbbcb7e1f723774bd4445a45625837896bf0f Merge: 6872743 1ce4381 Author: Thierry VolpiattoCommit: Thierry Volpiatto Merge pull request #62 from jwiegley/backup_files Allow reproducing "cp --backup=numbered from to". --- dired-async.el | 20 +--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/dired-async.el b/dired-async.el index ecab9cb..461e1dd 100644 --- a/dired-async.el +++ b/dired-async.el @@ -166,7 +166,8 @@ See `dired-create-files' for the behavior of arguments." (downcase operation) from))) (if (not to) (setq skipped (cons (dired-make-relative from) skipped)) -(let* ((overwrite (file-exists-p to)) +(let* ((overwrite (and (null (eq file-creator 'backup-file)) + (file-exists-p to))) (dired-overwrite-confirmed ; for dired-handle-overwrite (and overwrite (let ((help-form '(format "\ @@ -255,8 +256,21 @@ ESC or `q' to not overwrite any of the remaining files, ,(async-inject-variables dired-async-env-variables-regexp) (condition-case err (let ((dired-recursive-copies (quote always))) -(cl-loop for (f . d) in (quote ,async-fn-list) - do (funcall (quote ,file-creator) f d t))) +(defalias 'backup-file +;; Same feature as "cp --backup=numbered from to" +(lambda (from to ok) + (when (null (nth 0 (file-attributes from))) +(let ((count 0)) + (while (let ((attrs (file-attributes to))) + (and attrs +(null (nth 0 (file-attributes to) +(cl-incf count) +(setq to (concat (file-name-sans-versions to) + (format ".~%s~" count) +(copy-file from to ok dired-copy-preserve-time +(cl-loop with fn = (quote ,file-creator) + for (from . dest) in (quote ,async-fn-list) + do (funcall fn from dest t))) (file-error (with-temp-file ,dired-async-log-file (insert (format "%S" err)
[elpa] master dd09794 33/39: Fix success message on callback.
branch: master commit dd09794572d1d3c1d6d277ac31b4c6d67d7fda93 Author: Thierry VolpiattoCommit: Thierry Volpiatto Fix success message on callback. * dired-async.el (dired-async-after-file-create): Remove one "file(s)" which seems redundant and use dired-plural-s. --- dired-async.el |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dired-async.el b/dired-async.el index 3f62cd5..c6ff0b9 100644 --- a/dired-async.el +++ b/dired-async.el @@ -153,9 +153,10 @@ Should take same args as `message'." (dired-plural-s total ;; Finally send the success message. (funcall dired-async-message-function -"Asynchronous %s of %s file(s) on %s file(s) done" +"Asynchronous %s of %s on %s file%s done" 'dired-async-message -(car operation) (cadr operation) total)) +(car operation) (cadr operation) +total (dired-plural-s total))) (defun dired-async-maybe-kill-ftp () "Return a form to kill ftp process in child emacs."
[elpa] master 0e327f7 37/39: Update version number here too.
branch: master commit 0e327f72bdffc5bc4a1fbc34a8da1b7066e819b3 Author: Thierry VolpiattoCommit: Thierry Volpiatto Update version number here too. --- async.el |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/async.el b/async.el index dc73270..3798c95 100644 --- a/async.el +++ b/async.el @@ -4,7 +4,7 @@ ;; Author: John Wiegley ;; Created: 18 Jun 2012 -;; Version: 1.6 +;; Version: 1.9 ;; Keywords: async ;; X-URL: https://github.com/jwiegley/emacs-async
[elpa] master updated (4c77f20 -> 8632abd)
thierryvolpiatto pushed a change to branch master. from 4c77f20 Merge commit 'eaab57092284028b1567622c96d9b332de3c7a4d' new 568ad03 Parse also `package-alist` when getting dependencies (#58). new 3ec3fb6 Declare package-alist in async-bytecomp.. new ed05631 Assign copyrights to the FSF, add autoloads file new d1cc5e0 Fix UTF-8 encoding for strings passed to subordinate Emacs new 22de0f5 Remove autoload file added by error. new b1b4569 fix a typo new 6521911 Merge pull request #59 from kolewu/kolewu-fix-typo-1 new 66545d8 Debian and Ubuntu installation instructions new 6872743 Merge pull request #61 from spwhitton/apt-get new 1ce4381 Allow reproducing "cp --backup=numbered from to". new c9ddbbc Merge pull request #62 from jwiegley/backup_files new cd901e7 Improve backup-files by handling symlinks and time-stamp errors. new 858a3f9 Fix backup fn, DRY and ignore symlinks directories. new 1763517 Add comment no code change. new 2bfd6a0 Ensure dired-copy-preserve-time is passed to child with its current value. new 0a773f2 Ensure dired-async--modeline-mode is called. new 6e29e82 Switch to lexical-binding. new e35506f Remove unuseful code never called. new 4c4eba9 Fix repetition in callback. new af8933d Unquote all callbacks. new 8d27590 Finally handle the failures correctly. new dd77b81 Fix formatting the help form in dired-create-files. new 0b8fbed Remove commented line, no code change. new 4f6b98d Fix operation arg of callback. new 4d6efb9 Handle error also on host when async-list of file is empty. new 9a82294 DRY use apply. new dc63e41 Revert last commit. new a48e509 Ensure a new line is added when printing to dired log buffer. new 8d1a26d Remove unused commented code. new a7e8cf3 When failures have been printed to dired log add the date at bob. new 1c57dc3 Better handling of errors happening on child. new 6552135 Improve how error buffer is displayed. new dd09794 Fix success message on callback. new 228ec4b Handle errors file by file instead of returning on first error. new 14170a4 Add more info in mode-line on failures. new e8db6cc Update pkg file. new 0e327f7 Update version number here too. new 527c590 Merge commit '0e327f72bdffc5bc4a1fbc34a8da1b7066e819b3' new 8632abd Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs/elpa Summary of changes: packages/async/README.md |4 + packages/async/async-bytecomp.el | 44 - packages/async/async-pkg.el |2 + packages/async/async.el | 12 +-- packages/async/dired-async.el| 183 +++--- packages/async/smtpmail-async.el |6 +- 6 files changed, 150 insertions(+), 101 deletions(-) create mode 100644 packages/async/async-pkg.el
[elpa] master cd901e7 12/39: Improve backup-files by handling symlinks and time-stamp errors.
branch: master commit cd901e7e90e79c3f6f6c8abd7e065481194bda78 Author: Thierry VolpiattoCommit: Thierry Volpiatto Improve backup-files by handling symlinks and time-stamp errors. * dired-async.el (dired-async-create-files): Rework backup-files. --- dired-async.el | 28 +++- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/dired-async.el b/dired-async.el index 461e1dd..00e17ce 100644 --- a/dired-async.el +++ b/dired-async.el @@ -256,18 +256,28 @@ ESC or `q' to not overwrite any of the remaining files, ,(async-inject-variables dired-async-env-variables-regexp) (condition-case err (let ((dired-recursive-copies (quote always))) +;; Inline `backup-file' as long as it is not +;; available in emacs. (defalias 'backup-file ;; Same feature as "cp --backup=numbered from to" +;; Symlinks are copied as file from source unlike +;; `dired-copy-file' which is same as cp -d. (lambda (from to ok) - (when (null (nth 0 (file-attributes from))) -(let ((count 0)) - (while (let ((attrs (file-attributes to))) - (and attrs -(null (nth 0 (file-attributes to) -(cl-incf count) -(setq to (concat (file-name-sans-versions to) - (format ".~%s~" count) -(copy-file from to ok dired-copy-preserve-time + (cond ((eq t (nth 0 (file-attributes from))) (ignore)) +(t (let ((count 0)) + (while (let ((attrs (file-attributes to))) + (and attrs + (null (nth 0 (file-attributes to) + (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 + (push (dired-make-relative from) + dired-create-files-failures) + (dired-log "Can't set date on %s:\n%s\n" from err))) +;; Now run the FILE-CREATOR function on files. (cl-loop with fn = (quote ,file-creator) for (from . dest) in (quote ,async-fn-list) do (funcall fn from dest t)))
[elpa] master a48e509 28/39: Ensure a new line is added when printing to dired log buffer.
branch: master commit a48e509be016ba5022d5528b43ca3371d41a1011 Author: Thierry VolpiattoCommit: Thierry Volpiatto Ensure a new line is added when printing to dired log buffer. * dired-async.el (dired-async-create-files): Do it. --- dired-async.el |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dired-async.el b/dired-async.el index c18ec53..41f9f62 100644 --- a/dired-async.el +++ b/dired-async.el @@ -226,7 +226,7 @@ ESC or `q' to not overwrite any of the remaining files, (push (cons from to) async-fn-list)) (progn (push (dired-make-relative from) failures) -(dired-log "%s `%s' to `%s' failed" +(dired-log "%s `%s' to `%s' failed\n" operation from to))) (push (cons from to) async-fn-list) ;; When async-fn-list is empty that's mean only one file
[elpa] master 4c4eba9 19/39: Fix repetition in callback.
branch: master commit 4c4eba9f401e2b5aa05fa9c8efd0615fbbf0b74c Author: Thierry VolpiattoCommit: Thierry Volpiatto Fix repetition in callback. * dired-async.el (dired-async-create-files): Do it. --- dired-async.el |6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dired-async.el b/dired-async.el index 418f265..4920e78 100644 --- a/dired-async.el +++ b/dired-async.el @@ -213,9 +213,9 @@ ESC or `q' to not overwrite any of the remaining files, (dired-async-after-file-create ,total) (when (string= ,(downcase operation) "rename") (cl-loop for (file . to) in ',async-fn-list - do (and (get-file-buffer file) - (with-current-buffer (get-file-buffer file) -(set-visited-file-name to nil t + for bf = (get-file-buffer file) + do (and bf (with-current-buffer bf + (set-visited-file-name to nil t ;; Handle error happening in host emacs. (cond (failures (dired-log-summary
[elpa] master dd77b81 22/39: Fix formatting the help form in dired-create-files.
branch: master commit dd77b81514ee58a30ac2e3af6fc03339683e95ce Author: Thierry VolpiattoCommit: Thierry Volpiatto Fix formatting the help form in dired-create-files. * dired-async.el (dired-async-create-files): Do it. --- dired-async.el |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dired-async.el b/dired-async.el index a501466..2a941e6 100644 --- a/dired-async.el +++ b/dired-async.el @@ -189,11 +189,11 @@ See `dired-create-files' for the behavior of arguments." (file-exists-p to))) (dired-overwrite-confirmed ; for dired-handle-overwrite (and overwrite - (let ((help-form '(format "\ + (let ((help-form `(format "\ Type SPC or `y' to overwrite file `%s', DEL or `n' to skip to next, ESC or `q' to not overwrite any of the remaining files, -`!' to overwrite all remaining files with no more questions." to))) +`!' to overwrite all remaining files with no more questions." ,to))) (dired-query 'overwrite-query "Overwrite `%s'?" to) ;; Handle the `dired-copy-file' file-creator specially ;; When copying a directory to another directory or
[elpa] master 6521911 07/39: Merge pull request #59 from kolewu/kolewu-fix-typo-1
branch: master commit 65219115a75fc91d68de8a624b2d39e7079ad736 Merge: 22de0f5 b1b4569 Author: Thierry VolpiattoCommit: Thierry Volpiatto Merge pull request #59 from kolewu/kolewu-fix-typo-1 fix a typo --- async.el |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/async.el b/async.el index 24db2a1..080fd34 100644 --- a/async.el +++ b/async.el @@ -257,7 +257,7 @@ ready. Example: (async-get proc))) If you don't want to use a callback, and you don't care about any -return value form the child process, pass the `ignore' symbol as +return value from the child process, pass the `ignore' symbol as the second argument (if you don't, and never call `async-get', it will leave *emacs* process buffers hanging around):
[elpa] master 3ec3fb6 02/39: Declare package-alist in async-bytecomp..
branch: master commit 3ec3fb65aec5a1048d4cb8918bd5a07b16c631de Author: Thierry VolpiattoCommit: Thierry Volpiatto Declare package-alist in async-bytecomp.. --- async-bytecomp.el |1 + 1 file changed, 1 insertion(+) diff --git a/async-bytecomp.el b/async-bytecomp.el index 9a252da..d7e9935 100644 --- a/async-bytecomp.el +++ b/async-bytecomp.el @@ -106,6 +106,7 @@ All *.elc files are systematically deleted before proceeding." (unless quiet (message "Started compiling asynchronously directory %s" directory (defvar package-archive-contents) +(defvar package-alist) (declare-function package-desc-reqs "package.el" (cl-x)) (defun async-bytecomp--get-package-deps (pkg only)
[elpa] master 22de0f5 05/39: Remove autoload file added by error.
branch: master commit 22de0f5792c9140f1da7c7459f30da0863b07e78 Author: Thierry VolpiattoCommit: Thierry Volpiatto Remove autoload file added by error. --- async-autoloads.el | 129 1 file changed, 129 deletions(-) diff --git a/async-autoloads.el b/async-autoloads.el deleted file mode 100644 index cb7d77a..000 --- a/async-autoloads.el +++ /dev/null @@ -1,129 +0,0 @@ -;;; async-autoloads.el --- automatically extracted autoloads -;; -;;; Code: -(add-to-list 'load-path (directory-file-name (or (file-name-directory #$) (car load-path - -;;;### (autoloads nil "async" "async.el" (22157 39462 0 0)) -;;; Generated autoloads from async.el - -(autoload 'async-start-process "async" "\ -Start the executable PROGRAM asynchronously. See `async-start'. -PROGRAM is passed PROGRAM-ARGS, calling FINISH-FUNC with the -process object when done. If FINISH-FUNC is nil, the future -object will return the process object when the program is -finished. Set DEFAULT-DIRECTORY to change PROGRAM's current -working directory. - -\(fn NAME PROGRAM FINISH-FUNC PROGRAM-ARGS)" nil nil) - -(autoload 'async-start "async" "\ -Execute START-FUNC (often a lambda) in a subordinate Emacs process. -When done, the return value is passed to FINISH-FUNC. Example: - -(async-start - ;; What to do in the child process - (lambda () - (message \"This is a test\") - (sleep-for 3) - 222) - - ;; What to do when it finishes - (lambda (result) - (message \"Async process done, result should be 222: %s\" - result))) - -If FINISH-FUNC is nil or missing, a future is returned that can -be inspected using `async-get', blocking until the value is -ready. Example: - -(let ((proc (async-start - ;; What to do in the child process - (lambda () - (message \"This is a test\") - (sleep-for 3) - 222 - -(message \"I'm going to do some work here\") ;; - -(message \"Waiting on async process, result should be 222: %s\" - (async-get proc))) - -If you don't want to use a callback, and you don't care about any -return value form the child process, pass the `ignore' symbol as -the second argument (if you don't, and never call `async-get', it -will leave *emacs* process buffers hanging around): - -(async-start - (lambda () - (delete-file \"a remote file on a slow link\" nil)) - 'ignore) - -Note: Even when FINISH-FUNC is present, a future is still -returned except that it yields no value (since the value is -passed to FINISH-FUNC). Call `async-get' on such a future always -returns nil. It can still be useful, however, as an argument to -`async-ready' or `async-wait'. - -\(fn START-FUNC FINISH-FUNC)" nil nil) - -;;;*** - -;;;### (autoloads nil "async-bytecomp" "async-bytecomp.el" (22156 -;; 7687 0 0)) -;;; Generated autoloads from async-bytecomp.el - -(autoload 'async-byte-recompile-directory "async-bytecomp" "\ -Compile all *.el files in DIRECTORY asynchronously. -All *.elc files are systematically deleted before proceeding. - -\(fn DIRECTORY QUIET)" nil nil) - -(defvar async-bytecomp-package-mode nil "\ -Non-nil if Async-Bytecomp-Package mode is enabled. -See the command `async-bytecomp-package-mode' for a description of this minor mode. -Setting this variable directly does not take effect; -either customize it (see the info node `Easy Customization') -or call the function `async-bytecomp-package-mode'.") - -(custom-autoload 'async-bytecomp-package-mode "async-bytecomp" nil) - -(autoload 'async-bytecomp-package-mode "async-bytecomp" "\ -Byte compile asynchronously packages installed with package.el. -Async compilation of packages can be controlled by -`async-bytecomp-allowed-packages'. - -\(fn ARG)" t nil) - -;;;*** - -;;;### (autoloads nil "dired-async" "dired-async.el" (22156 7686 -;; 0 0)) -;;; Generated autoloads from dired-async.el - -(defvar dired-async-mode nil "\ -Non-nil if Dired-Async mode is enabled. -See the command `dired-async-mode' for a description of this minor mode. -Setting this variable directly does not take effect; -either customize it (see the info node `Easy Customization') -or call the function `dired-async-mode'.") - -(custom-autoload 'dired-async-mode "dired-async" nil) - -(autoload 'dired-async-mode "dired-async" "\ -Do dired actions asynchronously. - -\(fn ARG)" t nil) - -;;;*** - -;;;### (autoloads nil nil ("async-pkg.el" "async-test.el" "smtpmail-async.el") -;; (22157 39488 0 0)) - -;;;*** - -;; Local Variables: -;; version-control: never -;; no-byte-compile: t -;; no-update-autoloads: t -;; End: -;;; async-autoloads.el ends here
[elpa] master 6872743 09/39: Merge pull request #61 from spwhitton/apt-get
branch: master commit 6872743af831f121e433a0eef098b42762b46739 Merge: 6521911 66545d8 Author: John WiegleyCommit: John Wiegley Merge pull request #61 from spwhitton/apt-get Debian and Ubuntu installation instructions --- README.md |4 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index a5b0866..e19fb5a 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,10 @@ you can disable this by running the copy, rename etc... commands with a prefix a If you don't want to make dired/helm asynchronous disable it with `dired-async-mode`. +### Debian and Ubuntu + +Users of Debian 9 or later or Ubuntu 16.04 or later may simply `apt-get install elpa-async`. + ## Enable asynchronous compilation of your (M)elpa packages By default emacs package.el compile packages in its running emacs session.
[elpa] master 568ad03 01/39: Parse also `package-alist` when getting dependencies (#58).
branch: master commit 568ad03cdc16f1826059e115846c8223fb60ad01 Author: Thierry VolpiattoCommit: Thierry Volpiatto Parse also `package-alist` when getting dependencies (#58). * async-bytecomp.el (async-bytecomp--get-package-deps): Try `package-archive-contents` and also `package-alist` in case pkg no more present in `package-archive-contents`. --- async-bytecomp.el |9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/async-bytecomp.el b/async-bytecomp.el index 53d288d..9a252da 100644 --- a/async-bytecomp.el +++ b/async-bytecomp.el @@ -111,10 +111,15 @@ All *.elc files are systematically deleted before proceeding." (defun async-bytecomp--get-package-deps (pkg only) ;; Same as `package--get-deps' but parse instead `package-archive-contents' ;; because PKG is not already installed and not present in `package-alist'. - (let* ((pkg-desc (cadr (assq pkg package-archive-contents))) + ;; However fallback to `package-alist' in case PKG no more present + ;; in `package-archive-contents' due to modification to `package-archives'. + ;; See issue #58. + (let* ((pkg-desc (cadr (or (assq pkg package-archive-contents) + (assq pkg package-alist (direct-deps (cl-loop for p in (package-desc-reqs pkg-desc) for name = (car p) - when (assq name package-archive-contents) + when (or (assq name package-archive-contents) +(assq name package-alist)) collect name)) (indirect-deps (unless (eq only 'direct) (delete-dups
[elpa] master 4c77f20 2/2: Merge commit 'eaab57092284028b1567622c96d9b332de3c7a4d'
branch: master commit 4c77f20e144dc409e3c59abdb7105fb0db41ee54 Merge: 6ad010c eaab570 Author: Artur MalabarbaCommit: Artur Malabarba Merge commit 'eaab57092284028b1567622c96d9b332de3c7a4d' --- packages/aggressive-indent/aggressive-indent.el | 17 ++--- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/packages/aggressive-indent/aggressive-indent.el b/packages/aggressive-indent/aggressive-indent.el index ac3ff96..9c1f7d7 100644 --- a/packages/aggressive-indent/aggressive-indent.el +++ b/packages/aggressive-indent/aggressive-indent.el @@ -348,10 +348,6 @@ or messages." "List of (left right) limit of regions changed in the last command loop.") (make-variable-buffer-local 'aggressive-indent--changed-list) -(defvar aggressive-indent--balanced-parens t - "Non-nil if the current-buffer has balanced parens.") -(make-variable-buffer-local 'aggressive-indent--balanced-parens) - (defun aggressive-indent--proccess-changed-list-and-indent () "Indent the regions in `aggressive-indent--changed-list'." (let ((inhibit-modification-hooks t) @@ -371,7 +367,7 @@ or messages." (defun aggressive-indent--indent-if-changed () "Indent any region that changed in the last command loop." - (when (and aggressive-indent--changed-list aggressive-indent--balanced-parens) + (when aggressive-indent--changed-list (save-excursion (save-selected-window (unless (or (run-hook-wrapped 'aggressive-indent--internal-dont-indent-if #'eval) @@ -380,19 +376,10 @@ or messages." (redisplay) (aggressive-indent--proccess-changed-list-and-indent))) -(defun aggressive-indent--check-parens () - "Check if parens are balanced in the current buffer. -Store result in `aggressive-indent--balanced-parens'." - (setq aggressive-indent--balanced-parens -(save-excursion - (ignore-errors -(zerop (car (syntax-ppss (point-max - (defun aggressive-indent--keep-track-of-changes (l r _) "Store the limits (L and R) of each change in the buffer." (when aggressive-indent-mode -(push (list l r) aggressive-indent--changed-list) -(aggressive-indent--check-parens))) +(push (list l r) aggressive-indent--changed-list))) ;;; Minor modes ;;;###autoload
[elpa] master eaab570 1/2: Ditch the check-parens functionality
branch: master commit eaab57092284028b1567622c96d9b332de3c7a4d Author: Artur MalabarbaCommit: Artur Malabarba Ditch the check-parens functionality For some unknown reason, it interacts poorly with query-replace. --- aggressive-indent.el | 17 ++--- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/aggressive-indent.el b/aggressive-indent.el index 9530bf2..f116129 100644 --- a/aggressive-indent.el +++ b/aggressive-indent.el @@ -349,10 +349,6 @@ or messages." "List of (left right) limit of regions changed in the last command loop.") (make-variable-buffer-local 'aggressive-indent--changed-list) -(defvar aggressive-indent--balanced-parens t - "Non-nil if the current-buffer has balanced parens.") -(make-variable-buffer-local 'aggressive-indent--balanced-parens) - (defun aggressive-indent--proccess-changed-list-and-indent () "Indent the regions in `aggressive-indent--changed-list'." (let ((inhibit-modification-hooks t) @@ -372,7 +368,7 @@ or messages." (defun aggressive-indent--indent-if-changed () "Indent any region that changed in the last command loop." - (when (and aggressive-indent--changed-list aggressive-indent--balanced-parens) + (when aggressive-indent--changed-list (save-excursion (save-selected-window (unless (or (run-hook-wrapped 'aggressive-indent--internal-dont-indent-if #'eval) @@ -381,19 +377,10 @@ or messages." (redisplay) (aggressive-indent--proccess-changed-list-and-indent))) -(defun aggressive-indent--check-parens () - "Check if parens are balanced in the current buffer. -Store result in `aggressive-indent--balanced-parens'." - (setq aggressive-indent--balanced-parens -(save-excursion - (ignore-errors -(zerop (car (syntax-ppss (point-max - (defun aggressive-indent--keep-track-of-changes (l r _) "Store the limits (L and R) of each change in the buffer." (when aggressive-indent-mode -(push (list l r) aggressive-indent--changed-list) -(aggressive-indent--check-parens))) +(push (list l r) aggressive-indent--changed-list))) ;;; Minor modes ;;;###autoload