如何在保存文件之前让Emacs查询用户(如果用户回答否,则中止)?

Rya*_*son 2 emacs elisp save savefiledialog

我想添加一个额外的提示,询问用户是否确定要保存文件,但仅限于某些"受保护"目录中的文件.假设我有一个file-needs-protection-p带文件名的函数,如果在保存该文件之前应该查询用户,则返回t.我怎样才能让Emacs问一些"This file is protected. Are you sure you want to modify it?"用户试图保存这样一个文件的内容,然后让Emacs在用户回答no时中止保存?

希望有一些特殊的钩子,我可以添加一个使用的函数,yes-or-no-p如果函数返回false,Emacs将中止保存?

phi*_*ils 5

未经测试,但我认为您应该能够用来before-save-hook执行测试并提出您的问题,如果他们回答否则只是提出错误:

(error "Save aborted by user")
Run Code Online (Sandbox Code Playgroud)