什么时候叫kill emacs hook?

什么时候叫kill emacs hook?,emacs,elisp,kill,Emacs,Elisp,Kill,如果我有一些未保存的缓冲区,kill emacs hook何时调用 情景A 用户调用杀死emacs 提示保存修改的缓冲区 取消kill emacs操作(C-g) 用户继续使用emacs 情景B 用户调用杀死emacs 提示保存修改的缓冲区 已保存所有修改的缓冲区 Emacs被杀 我运行这行代码并退出emacs以测试发生了什么 (添加hook'kill emacs hook(lambda()(消息“test”)) 结论是,“测试”不是在场景A中打印的,而是在场景B的步骤3.和4. 在示例B中,在打

如果我有一些未保存的缓冲区,
kill emacs hook
何时调用

情景A

  • 用户调用
    杀死emacs
  • 提示保存修改的缓冲区
  • 取消
    kill emacs
    操作(
    C-g
  • 用户继续使用emacs
  • 情景B

  • 用户调用
    杀死emacs
  • 提示保存修改的缓冲区
  • 已保存所有修改的缓冲区
  • Emacs被杀

  • 我运行这行代码并退出emacs以测试发生了什么

    (添加hook'kill emacs hook(lambda()(消息“test”))

    结论是,“测试”不是在
    场景A
    中打印的,而是在
    场景B
    的步骤
    3.
    4.


    在示例B中,在打印“文本”之后,还有几行输出,但是没有更多的用户输入。

    运行
    kill emacs hook
    kill emacs
    做的第一件事

    您的两种方案都是无效的。如果用户直接调用
    kill emacs
    ,则不会提示用户保存缓冲区(只有在调用
    save buffers kill emacs
    时才会这样做)


    对于后者,如果用户中止查询以保存缓冲区,或者如果
    kill-emacs查询函数的任何成员返回
    nil
    ,则永远不会调用
    kill-emacs

    Em。。。。我确实试过这个。但是有一个问题,3和4几乎同时运行,所以我永远看不到消息日志。谢谢你的建议。我终于
    建议添加
    :在
    之前
    保存缓冲区杀死emacs
    以实现我的目标。