From a previous question of mine, I've included the following function in my .emacs
to quickly update all installed packages:
(defun endless/upgrade ()
"Upgrade all packages, no questions asked."
(interactive)
(save-window-excursion
(list-packages)
(package-menu-mark-upgrades)
(package-menu-execute 'no-query)))
I recently installed openSUSE (came from Windows), and running that command does not currently work. I'm getting an error message in the minibuffer area (I think) that looks more or less like this:
progn: Wrong number of arguments: #[nil "ÆÇ!
ÈÉ!ÊebmUÊfË=OÊÌ*`Í\"² Î=DÏ@!ÐA!B
BO Ñ=O@BÊy)}ÒGÓUjÔÕ@\"tÔÖG×ÏØ##!}ÙÚ\"
ÙÒ
GÓUÔÛ
@@)
@A#¢ÔÜ
G×Ý
Ø##!Õ
Ê(Ñ(@Þ)*Â) Çßàá)(A(¯*ÙÈâ!
ääã
ìóäå\"öæç!," [id cmd delete-list install-list x elt derived-mode-p package-menu-mode error "The current buffer is not in Package Menu mode" ...] 9 ("/usr/share/emacs/24.3/lisp/emacs-lisp/package.elc" . 51221) nil], 1
With debug-on-error
toggled on, I get the following after the error message:
package-menu-execute(no-query)
(progn (list-packages) (package-menu-mark-upgrades) (package-menu-execute (quote no-query)))
(unwind-protect (progn (list-packages) (package-menu-mark-upgrades) (package-menu-execute (quote no-query))) (set-window-configuration wconfig))
(let ((wconfig (current-window-configuration))) (unwind-protect (progn (list-packages) (package-menu-mark-upgrades) (package-menu-execute (quote no-query))) (set-window-configuration wconfig)))
endless/upgrade()
call-interactively(endless/upgrade record nil)
command-execute(endless/upgrade record)
helm-M-x(nil "endless/upgrade")
call-interactively(helm-M-x nil nil)
After re-loading package.el
I get a different error message:
1 package can be upgraded; type `U' to mark it for upgrading.
1 package marked for upgrading.
progn: Wrong number of arguments: (lambda nil "Perform marked Package Menu actions.
Packages marked for installation are downloaded and installed;
packages marked for deletion are removed." (interactive) (if (derived-mode-p (quote package-menu-mode)) nil (error "The current buffer is not in Package Menu mode")) (let (install-list delete-list cmd id) (save-excursion (goto-char (point-min)) (while (not (eobp)) (setq cmd (char-after)) (if (eq cmd 32) nil (setq id (tabulated-list-get-id)) (cond ((eq cmd 68) (setq delete-list (cons (cons ... ...) delete-list))) ((eq cmd 73) (setq install-list (cons (car id) install-list))))) (forward-line))) (if install-list (progn (if (yes-or-no-p (if (= (length install-list) 1) (format "Install package `%s'? " (car install-list)) (format "Install these %d packages (%s)? " (length install-list) (mapconcat (quote symbol-name) install-list ", ")))) (mapc (quote package-install) install-list)))) (if delete-list (progn (if (yes-or-no-p (if (= (length delete-list) 1) (format "Delete package `%s-%s'? " (caar delete-list) (cdr (car delete-list))) (format "Delete these %d packages (%s)? " (length delete-list) (mapconcat (function ...) delete-list ", ")))) (progn (let ((--dolist-tail-- delete-list) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (let (...) (if debug-on-error ... ...)) (setq --dolist-tail-- (cdr --dolist-tail--))))) (error "Aborted")))) (and delete-list (null install-list) (package-initialize)) (if (or delete-list install-list) (package-menu--generate t t) (message "No operations specified.")))), 1
Did I miss installing something I need? I can still update packages manually with list-packages
etc.
emacs -q
. (2) Try showing us some of the parts you omited. (3) Try usingM-x toggle-debug-on-error
instead. – Malabarba May 17 '15 at 15:02debug-on-error
. Thanks! – Ryan May 18 '15 at 02:57package.el
, then try again. – politza May 18 '15 at 22:53package.elc
file, andpackage.el
isn't in the same directory. – Ryan May 22 '15 at 18:42emacs-el
package containing the Lisp sources, or google it (look for one with the same version as your Emacs). – politza May 22 '15 at 19:52