为什么Emacs Server只在一个客户端上打开时说“缓冲区仍有客户端”?

时间:2014-03-24 16:52:36

标签: emacs emacsclient

我有一个emacs守护程序与一个打开文件的客户端一起运行。我理解C-k背后的概念显示“缓冲区仍有客户端”,但为什么当缓冲区仅在一个客户端上打开时(我只打开一个客户端)会发生这种情况?

emacs守护进程是否认为缓冲区的emacs服务器副本是另一个客户端副本?

2 个答案:

答案 0 :(得分:4)

客户端连接未使用C-k关闭,已使用C-x #关闭。所以实际上,当你点击C-k时,你告诉Emacs在没有关闭连接的情况下杀死缓冲区。所以'开放客户'是你正在看的那个。

答案 1 :(得分:1)

警告可以防止您无意中关闭客户端连接并导致在等待进程中发生意外操作。例如,当从git或mail调用emacsclient作为编辑器时,关闭连接可能会导致提交或发送电子邮件。即使只有一个框架打开,您可能正在处理多个缓冲区而不记得此特定缓冲区来自客户端请求。所以emacs会显示警告,说“你确定要杀死这个缓冲区吗?这也会关闭客户端连接。”

C-x#是告诉emacs的方式“我知道有一个客户等着它。我已经完成了。请告诉客户我已经完成了”并跳过警告。