jwiegley / emacs-async

Simple library for asynchronous processing in Emacs
GNU General Public License v3.0
832 stars 68 forks source link

Unable to delete the old version after updating from package #45

Closed c02y closed 9 years ago

c02y commented 9 years ago

Recently, I notice that if I update async-20141218.953 to async-20141222.2207, after updating, Emacs won't ask me to delete the old versions of packages in minibuffer(If I update other packages at the same time, it won't ask too).

There is no error in Compile-Log buffer, but it will show:

 Compiling file /home/chz/.emacs.d/elpa/async-20141222.2207/async-autoloads.el at .....
 Compiling no file at .....

AND in Messages buffer:

ad-Advice-package--compile: Wrong number of arguments: (lambda (directory &optional quiet) "Compile all *.el files in DIRECTORY asynchronously.
All *.elc files are systematically deleted before proceeding." (let* ((dir (directory-files directory t "\\.elc\\'")) (--cl-var-- dir) (f nil) (--cl-var-- t) --cl-var--) (while (and (if dir t (setq --cl-var-- nil --cl-var-- nil)) (consp --cl-var--)) (setq f (car --cl-var--)) (if (file-exists-p f) (progn (delete-file f))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--) (load "async") (let ((call-back (list (quote lambda) (quote (&optional ignore)) (list (quote if) (quote (file-exists-p async-byte-compile-log-file)) (list (quote let) (quote ((buf ...) (n 0))) (list (quote with-current-buffer) (quote buf) (quote (goto-char ...)) (quote (let ... ... ...)) (quote (display-buffer buf)) (quote (delete-file async-byte-compile-log-file)) (list (quote unless) quiet (quote ...) (list ... ... ... ...)))) (list (quote unless) quiet (list (quote message) "Directory `%s' compiled asynchronously with success" directory)))))) (let* ((sexp (list (quote lambda) nil (quote (require (quote bytecomp))) (async-inject-variables "\\`\\(load-path\\)\\|byte\\'") (list (quote let) (cons (list (quote default-directory) (list ... directory)) (quote (error-data))) (quote (add-to-list (quote load-path) default-directory)) (cons (quote byte-recompile-directory) (cons directory (quote ...))) (list (quote when) (quote (get-buffer byte-compile-log-buffer)) (quote (setq error-data ...)) (list (quote unless) (quote ...) (cons ... ...)))))) (proc (async-start-process "emacs" (file-truename (expand-file-name invocation-name invocation-directory)) call-back "-Q" "-l" "/home/chz/.emacs.d/elpa/async-20141222.2207/async.el" "-batch" "-f" "async-batch-invoke" ...))) (if async-send-over-pipe (async--transmit-sexp proc (list (quote quote) sexp))) proc) (message "Started compiling asynchronously directory %s" directory))), 4

There are no *.elc files in neither version of async, so they are not compiled.

But If update other packages without updating async, it will do the ask in minibuffer and they will be compiled.

thierryvolpiatto commented 9 years ago

c02y notifications@github.com writes:

Recently, I notice that if I update async-20141218.953 to async-20141222.2207,

Should be fixed now (once melpa will update its packages).

Waiting the update, you can just delete async, restart emacs with emacs -Q (don't forget to add melpa to package-archives), reinstall async from package and restart your plain emacs.

Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997