2

Закрытие emacs 23 в Ubuntu 12.04 и 14.04 занимает очень много времени. Я рекурсивно разделил пополам мой файл .emacs (согласно совету Дрю здесь) и нашел следующий фрагмент в качестве оскорбительного бита:

;;auto-complete
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(ac-config-default)
(define-key ac-completing-map "\t" 'ac-complete) ;; change return key with tab to ac
(define-key ac-completing-map [tab] 'ac-complete) 
(define-key ac-completing-map [return] nil)       

(require 'auto-complete-latex)
(setq ac-l-dict-directory "~/.emacs.d/ac-l-dict/")
;;(add-to-list 'ac-modes 'foo-mode)
;;(add-hook 'foo-mode-hook 'ac-l-setup)
(require 'ac-math)
(add-to-list 'ac-modes 'latex-mode)   ; make auto-complete aware of {{{latex-mode}}}
(defun ac-latex-mode-setup ()         ; add ac-sources to default ac-sources
(setq ac-sources
 (append '(ac-source-math-latex ac-source-latex-commands  ac-source-math-unicode)
           ac-sources))
)
;;(require 'auto-complete)
(add-hook 'LaTeX-mode-hook 'ac-latex-mode-setup)
;;(ac-flyspell-workaround)        ; workaround if using flyspell

`

Любой совет, решающий эту не опасную для жизни, но раздражающую ошибку, очень приветствуется.

** Редактирование на основе ответов @lawlist и @Drew: ** Спасибо @lawlist и @Drew за потраченное время. переменная description не показывает ничего прикрепленного к моему .emacs

kill-emacs-hook is a variable defined in `C source code'.
Its value is
(ac-comphist-save bc-bookmarks-save save-place-kill-emacs-hook recentf-save-list)

kill-emacs-query-functions возвращает

kill-emacs-query-functions's value is (dictree-save-modified)

@Drew: настройка этих крючков выходит за рамки моих возможностей. Должен ли я прокомментировать элементы один за другим? Как? Еще раз спасибо.

1 ответ1

1

Проблема решена благодаря @lawlist, спасибо за ваше время и знания!

Если Emacs быстро завершает работу после оценки (remove-hook 'kill-emacs-hook 'ac-comphist-save) , тогда BINGO! Все, что вам нужно сделать, это найти (add-hook 'kill-emacs-hook 'ac-comphist-save) в файлах исходного кода и закомментировать его. Это, вероятно, в файле с именем auto-complete.el . Если у вас есть auto-complete.elc удалите его. Когда все работает к вашему удовольствию, вы можете скомпилировать новый с помощью Mx byte-compile.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .