【发布时间】:2010-06-10 13:30:39
【问题描述】:
我不确定这里是否推荐使用apply。动态设置主要模式是否有更好/标准的解决方案?我找不到其他的。
背景:
只要我得到
X has auto save data; consider M-x recover-this-file
Emacs 中的消息,我想知道当前文件和自动保存版本之间的区别是什么。因为大部分时间我都懒得去查,所以我尝试自动完成任务:
(defun ediff-auto-save ()
"Ediff current file and its auto-save pendant."
(interactive)
(let ((auto-file-name (make-auto-save-file-name))
(file-major-mode major-mode))
(ediff-files buffer-file-name auto-file-name)
(switch-to-buffer-other-window (file-name-nondirectory auto-file-name))
(apply file-major-mode '())
(other-window 1))) ;; back to ediff panel
代码做我想做的事,它打开自动保存文件并启动 ediff。我还将自动保存文件的主模式设置为原始文件的主模式,以获得一致的字体锁定。
【问题讨论】:
-
这是一个非常方便的 elisp 块,不管 'apply' 是否是正确的选择。