emacs建议恢复文件,但我错过了:如何使它提示?

时间:2018-08-29 21:38:38

标签: emacs crash

当emacs注意到崩溃时,在下次打开文件时,它“建议” M-x恢复文件。但这只是短暂地闪烁,所以今天早上我错过了它:(我继续编辑,而昨晚的工作却丢失了。

是否有一种方法可以使该建议成为必须在继续之前得到响应的提示?

1 个答案:

答案 0 :(得分:1)

警告消息来自功能after-find-file。我找不到控制它的选项,但是您可以定义一个函数来执行类似的操作:

(defvar already-in-prompt-for-auto-save nil)

(defun prompt-for-auto-save-recovery ()
  (if (and (not buffer-read-only)
           (not already-in-prompt-for-auto-save)
           (file-newer-than-file-p (or buffer-auto-save-file-name
                                       (make-auto-save-file-name))
                                   buffer-file-name)
           (y-or-n-p (format "%s has auto save data: do you want to recover it? "
                              (file-name-nondirectory buffer-file-name))))
      (let ((already-in-prompt-for-auto-save t))
         (recover-this-file))))

然后将其安装为挂钩。

(add-hook 'find-file-hook 'prompt-for-auto-save-recovery)

这是经过严格测试的代码-我提取了after-find-file相关部分的内容-但也许它将使您朝正确的方向开始。