我不確定這裏是否推薦使用apply
。有動態設置主模式的更好/標準解決方案嗎?我找不到任何其他。在Emacs Lisp中正確使用apply?
背景:
每當我在Emacs的
X has auto save data; consider M-x recover-this-file
消息,我不知道目前的文件,並自動保存版本之間的區別是什麼。由於大多數的我也懶得看它的時候,我試圖自動執行任務:
(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'是否是正確的選擇。 – Anne 2012-05-14 14:17:42