GNU Emacs:如何禁用提示以在退出时保存修改后的缓冲区

GNU Emacs: How to disable prompt to save modified buffer on exit

在 GNU Emacs 中,我有一个特定的缓冲区 *my-special-buffer*,我将其创建为 运行 子进程的输出并存储输出。我在填充内容后将此缓冲区标记为只读。有时,当我尝试退出 Emacs 时,我注意到系统提示我保存此缓冲区:

Save file /foo/bar/.../*my-special-buffer*? (y, n, !, ...

是否有一个缓冲区局部变量我可以设置为该缓冲区初始化的一部分,以防止保存提示打断我关闭 Emacs 的尝试?明确一点,我不想保存这个缓冲区;缓冲区的目的只是为了显示来自子进程的只读数据。

如果你想在没有任何问题的情况下退出时保存所有缓冲区,请执行 C-u C-x C-c:

C-x C-c runs the command save-buffers-kill-terminal...

...With prefix ARG, silently save all file-visiting buffers, then kill.

如果你想让Emacs认为缓冲区根本不应该被保存,你需要做的就是mark it as unmodified:M-~.

看来这是我填充缓冲区后应该设置的。

(set-buffer-modified-p nil)

更多详细信息here。之后,我将缓冲区设置为只读。