Flycheck не запускает код, а компилирует его (чтобы получить предупреждения компилятора).Когда компилятор обрабатывает (require 'init-vars)
, он попытается загрузить init-vars
из «текущего» * 1005 *, но, поскольку первая строка была скомпилирована, а не выполнена, сеанс Emacs, где файл компилируется, все еще имеет значение по умолчанию load-path
значение, с добавлением к нему дополнительного каталога ~/.emacs.d/lisp
.
Один из способов решения этой проблемы - eval-when-compile
:
(eval-when-compile
(push (expand-file-name "lisp" user-emacs-directory) load-path))
Кстати, я рекомендую вместо этого использовать add-to-list
из push
здесь (или иначе, используйте cl-pushnew
), чтобы повторное выполнение этого кода не продолжало добавлять избыточные копии этого каталога в ваш load-path
.