(message% S load-path) и (describe-variable load-path) дают разные результаты

(message "%S" load-path) и (describe-variable 'load-path) дают разные результаты. В последнем появилось еще несколько путей типа "/Users/updogliu/.emacs.d/elpa/flycheck-20140323.828".

Как я могу заставить (require 'flycheck) использовать "описать" load-path?


person updogliu    schedule 25.03.2014    source источник
comment
если вы можете воспроизвести его (отличные от message и describe-variable значения) с emacs -Q, сообщите об этом как об ошибке с помощью report-emacs-bug.   -  person sds    schedule 25.03.2014
comment
Вы звонили package-initialize в свой init.el?   -  person lunaryorn    schedule 25.03.2014
comment
Вам нужно понять, почему описательная переменная и сообщение возвращают разные результаты. Наиболее вероятное объяснение, которое я вижу, заключается в том, что load-path имеет значение, локальное в буфере, и что вы запускаете описательную переменную и сообщение из разных буферов. Но пока вы не ответите, почему это происходит (и вы не предоставили достаточно информации), никто не сможет ответить на ваш вопрос.   -  person Phil Lord    schedule 25.03.2014


Ответы (1)


Чтобы правильно настроить Flycheck, require Flycheck не требуется. Вместо этого просто включите Global Flycheck Mode:

(add-hook 'after-init-hook #'global-flycheck-mode)

Это включит Flycheck для всех поддерживаемых языков.

Чтобы (require 'flycheck) работал в вашем init.el, вам нужно добавить (package-initialize) в самом начале вашего init.el.

(package-initialize) устанавливает встроенную систему пакетов Emacs, которая включает добавление всех пакетов в load-path. Emacs вызывает это автоматически, но только после обработки вашего init.el, поэтому используется after-init-hook для включения Flycheck.

Если вы добавили вызов message в свой init.el без предварительного вызова (package-initialize), вы, следовательно, увидите стандартный load-path без каких-либо пакетов.

Чтобы ваши пакеты сразу же стали доступны в init.el, вам нужно вызвать (package-initialize) вручную в начале init.el.

person lunaryorn    schedule 25.03.2014
comment
Этот ответ многому учит и решил мою проблему. Большое Вам спасибо. - person updogliu; 25.03.2014
comment
См. Также stackoverflow.com/questions/11127109/ - person phils; 26.03.2014