diff --git a/lisp/doom-packages.el b/lisp/doom-packages.el index 321c441b0..f55e2c50a 100644 --- a/lisp/doom-packages.el +++ b/lisp/doom-packages.el @@ -116,6 +116,19 @@ uses a straight or package.el command directly).") (append (apply fn args) ; lockfiles still take priority (doom-package-pinned-list))) +;; HACK: This fixes an issue present in recent builds of Emacs 29. See +;; emacs-mirror/emacs@0d383b592c2f. Straight.el uses `loaddefs-generate' if it +;; is available, which activates `emacs-lisp-mode' to read autoloads files, +;; but does so without suppressing its hooks. Some packages (like overseer) +;; add hooks to `emacs-lisp-mode-hook' in their autoloads, and once triggered, +;; they will try to load their dependencies (like dash or pkg-info), causing +;; file errors. +;; REVIEW: Report this upstream. +(defadvice! doom--fix-loaddefs-generate--parse-file-a (fn &rest args) + :around #'loaddefs-generate--parse-file + (let (emacs-lisp-mode-hook) + (apply fn args))) + ;; ;;; native-comp