Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs 何时执行缓冲区退出功能?_Emacs_Elisp - Fatal编程技术网

Emacs 何时执行缓冲区退出功能?

Emacs 何时执行缓冲区退出功能?,emacs,elisp,Emacs,Elisp,我想挂接到更改缓冲区,所以尝试使用缓冲区退出功能。 我编写了以下代码并进行了评估(使用C-xc-e): 之后,我尝试使用C-xo(其他窗口),C-xb(切换到缓冲区)来更改缓冲区 但我看不到字符串缓冲区退出 为什么我的缓冲区退出功能没有执行?有两个问题: 缓冲区退出函数不是挂钩。这是一个变量,所以将其设置为 (set (make-local-variable 'buffer-quit-function) (lambda () (message "Buffer quit!"))) 更

我想挂接到更改缓冲区,所以尝试使用
缓冲区退出功能
。 我编写了以下代码并进行了评估(使用
C-xc-e
):

之后,我尝试使用
C-xo
(其他窗口),
C-xb
(切换到缓冲区)来更改缓冲区 但我看不到字符串
缓冲区退出

为什么我的
缓冲区退出功能没有执行?

有两个问题:

  • 缓冲区退出函数
    不是挂钩。这是一个变量,所以将其设置为

    (set (make-local-variable 'buffer-quit-function)
         (lambda () (message "Buffer quit!")))
    
  • 更改缓冲区时不调用它;当用户调用
    键盘escape quit
    时使用它,它通常绑定到
    ESC

  • 我不认为有任何机制可以做你想做的事

    (set (make-local-variable 'buffer-quit-function)
         (lambda () (message "Buffer quit!")))