mirror of
https://github.com/doomemacs/doomemacs.git
synced 2025-12-06 10:31:23 -08:00
fix: "symbol's value as variable is void: \213" error (part 2)
See6f1c0f7cc7for part 1. Turns out startup.elc likely exists on most Emacs installations (and, since it's so integral to Emacs, it likely gets special treatment), so it was a poor heuristic for this fix. Instead, a more variable target would be calc-loaddefs.el. On some systems, only calc-loaddefs.el.gz exists (in which case, we should turn off the optimization). On others, calc-loaddefs.el exists (so I'll assume it's safe to leave them on). I won't check for calc-loaddefs.elc because it doesn't matter; calc.el explicitly calls (load "calc-loaddefs.el") so it is never loaded. Of course, you can sidestep the entire issue by building Emacs with --without-compress-install, but it's not practical for users to know/want to do that. Amend:6f1c0f7cc7
This commit is contained in:
parent
6f1c0f7cc7
commit
1d8c61698b
1 changed files with 10 additions and 5 deletions
|
|
@ -45,13 +45,18 @@ one wants that.")
|
||||||
(signal 'doom-error
|
(signal 'doom-error
|
||||||
(list "The installed version of Doom has changed since last 'doom sync' ran"
|
(list "The installed version of Doom has changed since last 'doom sync' ran"
|
||||||
"Run 'doom sync' to bring Doom up to speed"))))
|
"Run 'doom sync' to bring Doom up to speed"))))
|
||||||
;; If the bundled elisp for this Emacs install isn't byte-compiled,
|
;; HACK If the bundled elisp for this Emacs install isn't
|
||||||
;; disengage the `file-name-handler-alist' optimization early to
|
;; byte-compiled, disengage the `file-name-handler-alist'
|
||||||
;; prevent encoding errors when Emacs tries to read gzipped elisp.
|
;; optimization early to prevent encoding errors when Emacs tries to
|
||||||
(unless (locate-file "startup.elc" (get 'load-path 'initial-value))
|
;; read gzipped elisp.
|
||||||
|
;;
|
||||||
|
;; calc-loaddefs.el is a good heuristic for this because calc.el
|
||||||
|
;; explicitly tries to load the un-compiled calc-loaddefs.el. If it
|
||||||
|
;; doesn't exist, it'll go for calc-loaddefs.el.gz instead.
|
||||||
|
(unless (locate-file "calc-loaddefs.el" (get 'load-path 'initial-value) nil)
|
||||||
`((unless noninteractive
|
`((unless noninteractive
|
||||||
(doom-reset-file-handler-alist-h)
|
(doom-reset-file-handler-alist-h)
|
||||||
(remove-hook 'emacs-startup-hook #'doom-reset-file-handler-alist-h 101))))
|
(remove-hook 'emacs-startup-hook #'doom-reset-file-handler-alist-h))))
|
||||||
(cl-loop for var in doom-autoloads-cached-vars
|
(cl-loop for var in doom-autoloads-cached-vars
|
||||||
when (boundp var)
|
when (boundp var)
|
||||||
collect `(set ',var ',(symbol-value var)))
|
collect `(set ',var ',(symbol-value var)))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue