退出 Emacs 非常慢...如何排除故障?

退出 Emacs 非常慢...如何排除故障?

我在 Windows 7 上运行 Emacs,每当我关闭它时,窗口通常至少需要 5 秒钟才能真正关闭。似乎无论我打开了哪种缓冲区或处于哪种模式都无关紧要。同时,底部的状态栏通常会显示:

(无需保存任何文件)

有什么方法可以让我了解为什么花费这么长时间,比如日志文件或调试消息?

以下是我的初始化文件中的自定义变量,以防有人能够识别出导致这种延迟的原因。

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(TeX-PDF-mode t)
 '(TeX-engine (quote xetex))
 '(ac-ignores (quote ("0" "1" "2" "3" "4" "5" "6" "7" "8" "9")))
 '(ac-modes (quote (emacs-lisp-mode lisp-interaction-mode c-mode cc-mode c++-mode java-mode clojure-mode scala-mode scheme-mode ocaml-mode tuareg-mode perl-mode cperl-mode python-mode ruby-mode ecmascript-mode javascript-mode js-mode js2-mode php-mode css-mode makefile-mode sh-mode fortran-mode f90-mode ada-mode xml-mode sgml-mode org-mode)))
 '(ac-user-dictionary (quote ("")))
 '(ansi-color-names-vector ["#3f3f3f" "#cc9393" "#7f9f7f" "#f0dfaf" "#8cd0d3" "#dc8cc3" "#93e0e3" "#dcdccc"])
 '(custom-enabled-themes (quote (deeper-blue)))
 '(custom-safe-themes (quote ("bf7ed640479049f1d74319ed004a9821072c1d9331bc1147e01d22748c18ebdf" default)))
 '(default-major-mode (quote text-mode) t)
 '(fci-rule-color "#383838")
 '(fill-column 70)
 '(global-auto-complete-mode t)
 '(global-visual-line-mode t)
 '(inhibit-startup-screen t)
 '(make-backup-files nil)
 '(org-agenda-files (quote ("e:/org-mode/diary.org" "e:/org-mode/gtd.org")))
 '(org-agenda-show-inherited-tags t)
 '(org-agenda-sorting-strategy (quote ((agenda habit-down time-up priority-down category-keep) (todo todo-state-up priority-down category-keep) (tags priority-down category-keep) (search category-keep))))
 '(org-capture-templates (quote (("d" "Diary" entry (file+datetree "E:\\org-mode\\diary.org") "* %? %i %a %^g %U") ("t" "Task" entry (file+headline "E:\\org-mode\\gtd.org" "Tasks") "* TODO %? %i %a %^g %U") ("r" "Reference to find" entry (file+headline "e:\\org-mode\\ToFind.org" "Incoming") ""))))
 '(org-mode-hook (quote (#[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook org-show-block-all append local] 5] #[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes org-mode-reftex-setup)) t)
 '(org-modules (quote (org-bbdb org-bibtex org-docview org-gnus org-info org-jsinfo org-habit org-mew org-mhe org-rmail org-vm org-wl org-w3m)))
 '(org-refile-targets (quote ((org-agenda-files :tag . "") (nil :maxlevel . 3))))
 '(org-startup-indented t)
 '(org-support-shift-select t)
 '(org-todo-keywords (quote ((sequence "NEXT(n)" "TODO(t)" "WAITING(w)" "|" "SOMEDAY(s)" "MAYBE(m)" "CANCELLED(c)" "DONE(d)"))))
 '(package-archives (quote (("MELPA" . "http://melpa.milkbox.net/packages/") ("gnu" . "http://elpa.gnu.org/packages/"))))
 '(save-place t nil (saveplace))
 '(text-mode-hook (quote (text-mode-hook-identify))))

答案1

我在 Linux 上使用 Emacs 24.3.1 遇到了这个问题

最后我注意到我有一个 12MB 的 .emacs-places 文件。我删除了该文件,现在 Emacs 立即退出。我怀疑 Emacs 在关机时试图对该文件进行一些更新,但该文件已经变得太长,以至于 Emacs 无法解析和更新该文件。

看起来 .emacs-places 被 saveplace 使用,它可以存储您在文件中的位置,这样当您重新打开文件时,光标将位于您关闭文件时所在的同一位置。也许过一段时间这个文件就会填满,更新起来会很费时间?我会密切关注它,如果这似乎是问题所在,我会禁用 saveplace。

答案2

不幸的是,似乎没有简单的方法来获取 Emacs 关闭时发生的情况的有用日志。

最后,我通过.emacs从头开始构建一个新文件解决了这个问题。我根据需要重新添加内容,到目前为止没有遇到任何问题。

相关内容