What should I do? After just updating packages my Emacs installation does not initialise. I tried the same process in two Macs with the same result. The error message (using --debug-init) is:

 Debugger entered--Lisp error: (void-variable left)
  eval-buffer(#<buffer  *load*-583073> nil "/Users/sergiobacelar/.emacs.d/starter-kit-misc.el" nil t)  ; Reading at buffer position 2361
  load-with-code-conversion("/Users/sergiobacelar/.emacs.d/starter-kit-misc.el" "/Users/sergiobacelar/.emacs.d/starter-kit-misc.el" nil nil)
  load("/Users/sergiobacelar/.emacs.d/starter-kit-misc.el" nil nil t)
  eval-buffer(#<buffer  *load*-903092> nil "/Users/sergiobacelar/.emacs.d/starter-kit.el" nil t)  ; Reading at buffer position 3819
  load-with-code-conversion("/Users/sergiobacelar/.emacs.d/starter-kit.el" "/Users/sergiobacelar/.emacs.d/starter-kit.el" nil nil)
  load("/Users/sergiobacelar/.emacs.d/starter-kit.el" nil nil t)
  eval-buffer(#<buffer  *load*> nil "/Users/sergiobacelar/.emacs.d/init.el" nil t)  ; Reading at buffer position 2725
  load-with-code-conversion("/Users/sergiobacelar/.emacs.d/init.el" "/Users/sergiobacelar/.emacs.d/init.el" t t)
  load("/Users/sergiobacelar/.emacs.d/init" t t)
  #[0 "\205\262�    \306=\203�\307\310Q\202;�   \311=\204�\307\312Q\202;�\313\307\314\315#\203*�\316\202;�\313\307\314\317#\203:�\320\nB\321\202;�\316\322\323\322\211#\210\322=\203a�\324\325\326\307\327Q!\"\323\322\211#\210\322=\203`�\210\203\243�\330!\331\232\203\243�\332!\211\333P\334!\203}�\211\202\210�\334!\203\207�\202\210�\314\262\203\241�\335\"\203\237�\336\337#\210\340\341!\210\266\f?\205\260�\314\323\342\322\211#)\262\207" [init-file-user system-type delayed-warnings-list user-init-file inhibit-default-init inhibit-startup-screen ms-dos "~" "/_emacs" windows-nt "/.emacs" directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" (initialization "`_emacs' init file is deprecated, please use `.emacs'") "~/_emacs" t load expand-file-name "init" file-name-as-directory "/.emacs.d" file-name-extension "elc" file-name-sans-extension ".el" file-exists-p file-newer-than-file-p message "Warning: %s is newer than %s" sit-for 1 "default"] 7 "\n\n(fn)"]()

1 Answer 1


Well generally speaking, updating software (any software) might break things if the newer version has bugs or other incompatibilities.

If a new version of something isn't working, and you don't want to go through the process of reporting a bug (or debugging it yourself), then you should simply revert back to the working version and maybe try again sometime in the future.

If you're just updating for the sake of updating, you should probably expect this sort of thing to happen from time to time.

Note that if you're using MELPA as a package repository, you should treat those packages as (potentially) unstable code.

Personally I recommend keeping your .emacs.d directory under version control, as it makes reverting any and all changes trivial.

Failing that, it looks like Emacs asks1 whether you want to delete the old package after installing an update. Obviously you should be answering "no" if you don't yet know whether the new one works, as it's then simple to delete the new package directory in order to restore the older one.

1 on the dev version I'm running, at least.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.