这是一个想法:如果我在更改了我的Emacs init文件后重新启动Emacs,如果在启动时出现错误,Emacs会自动打开我的init文件进行编辑,这将非常方便
例如,如果在启动时出现错误,Emacs可以在一个窗口中显示错误/调试消息,在另一个窗口中显示我的init文件。
我是Emacs Lisp的新手,并且不熟悉错误处理程序。是否有任何错误处理机制/设置可能有用? (老实说,不确定从哪一个开始,因此在这篇文章中没有任何实验代码......)
答案 0 :(得分:1)
如果你真的想这样做,可以试试这个:
将init文件的内容包装在其中,其中CONTENTS
是您的原始init文件,FILE是init文件的绝对名称(即位置):
(condition-case err
(progn
(setq debug-on-error t)
CONTENTS
)
(error (find-file FILE)
(error "*INIT ERROR*: %s" (error-message-string err))))
或者好一点:将你的init文件中的内容放在另一个文件中 - 这里称为ORIG-INIT(再次,绝对文件名),并将其用作init文件的(唯一)内容: / p>
(condition-case err
(progn (setq debug-on-error t)
(load-file ORIG-INIT))
(error (find-file ORIG-INIT)
(error "*INIT ERROR*: %s" (error-message-string err))))
答案 1 :(得分:1)
实际上,我通常会使用.emacs文件打开一个emacs。然后,每当我做出更改时,我都会打开并关闭新的emacs。我知道,这并不酷,但即使你的光标也会在你工作的地方。
我要做的另一件事就是在废料缓冲区( scratch 或新制作的临时文件)中编辑一段代码并使用Cx Ce执行它(站在表达式的末尾)