我试图在保存挂钩的帮助下为文件保存后和保存之前创建备份。这是来自.emacs
的代码(defun force-backup-of-buffer ()
(interactive)
(setq buffer-backed-up nil)
(backup-buffer)
)
(add-hook 'before-save-hook 'force-backup-of-buffer)
(add-hook 'after-save-hook 'force-backup-of-buffer)
但这导致删除原始文件。有人能告诉我为什么会这样吗? 我的目标是每次保存时创建两个备份文件。我想使用emacs使用的相同版本控制号。因此我使用备份缓冲区而不是写自己的钩子来写文件。
答案 0 :(得分:1)
查看backup-buffer
的文档,其中指向make-backup-files
变量: Ch v make-backup-files
RET
默认情况下,Emacs通过将原始文件重命名为备份文件名进行备份,然后将缓冲区保存为原始文件名;因此你的文件正在消失。
我不确定backup-buffer
是否真的打算在其他地方调用,但是如果你通过复制将其设置为备份,你可能会没事。