Определение функции символа недействительно: global-auto-complete-mode
Я использую GNU Emacs 24.4.1 (x86_64-apple-darwin14.0.0), я установил автозаполнение из Melpa, и в init.el есть следующая строка:
(global-auto-complete-mode 1)
Когда я открываю emacs, выдается предупреждение:
Warning (initialization): An error occurred while loading `/Users/lita/.emacs.d/init.elc':
Symbol's function definition is void: global-auto-complete-mode
To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the `--debug-init' option to view a complete error backtrace.
И режим автозаполнения не был запущен. После того, как я изменил строку в init.el в:
(eval-after-load 'auto-complete (global-auto-complete-mode 1))
Это все еще придумало то же самое предупреждение. Но если я `eval-buffer, он включает автозаполнение.
В чем проблема с этим??
1 ответ
В вашем файле инициализации, вы должны позвонить (package-initialize)
прежде чем ссылаться на пакеты.
Кроме того, у вас есть опечатка в вашем eval-after-load
заявление. Вам нужно процитировать форму, в противном случае она оценивается немедленно, поэтому вы получаете предупреждение. Другими словами:
(eval-after-load 'auto-complete '(global-auto-complete-mode 1))
Кроме того, вы можете использовать новый макрос with-eval-after-load
,