退出 emacs 需要 10 秒

退出 emacs 需要 10 秒

在 Ubuntu 12.04 和 14.04 中关闭 emacs 23 需要很长时间。我已递归地二分了我的 .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 抽出时间。describe-variable 没有显示任何属于我的 .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

感谢@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 编译一个新的字节码。

相关内容