“该Emacs会话具有客户端” - 我怎么知道为什么? [英] "This Emacs session has clients" - how do I find out why?
问题描述
(我正在使用Emacs 24beta在Windows 7上,而Cx Cc Emacs宣布:这个Emacs会话有客户端,退出? ,如果重要的话)。
我希望有些文件被打开,这是通过emacsclientw.exe打开的 - 但我没有看到任何。
(我有
git config --global core.editor/c/lang/emacs-24beta/bin/emacsclientw.exe)
有没有办法找出哪些缓冲区有客户端? (或还有什么需要寻找的?)
有没有办法找出哪些缓冲区有客户端?
当缓冲区有客户端时,其 server-buffer-clients
变量将为非零。
我确定有一个更好的方法,但是这个代码应该给客户端提供缓冲区列表: / p>
(require'cl)
(defvar server-buffers nil)
(setq server-buffers nil)
(let((original-buffer(current-buffer)))
(循环)对于buf in(buffer-list)
do
(progn
(switch-to-buffer buf)
(if(and
server-buffer-clients
(buffer-live-p buf))
(add-to-list'server-buffers buf))))
(switch-to-buffer original-buffer)
server-buffers:%sserver-buffers) ))
Every now and then, on C-x C-c Emacs announces "This Emacs session has clients; exit anyway?".
(I'm using Emacs 24beta at windows 7, in case that matters.)
I expected some files to be open that had been opened via emacsclientw.exe - but I don't see any.
(I have git config --global core.editor "/c/lang/emacs-24beta/bin/emacsclientw.exe")
Is there any way to find out which buffers have clients? (Or is there anything else to look for?)
Is there any way to find out which buffers have clients?
When a buffer has clients, the value of its server-buffer-clients
variable will be non-nil.
I'm sure there's a better way, but this code should give a list of buffers with clients:
(require 'cl) (defvar server-buffers nil) (defun show-server-buffers () (interactive) (setq server-buffers nil) (let ((original-buffer (current-buffer))) (loop for buf in (buffer-list) do (progn (switch-to-buffer buf) (if (and server-buffer-clients (buffer-live-p buf)) (add-to-list 'server-buffers buf)))) (switch-to-buffer original-buffer) (message "server-buffers: %s" server-buffers)))
这篇关于“该Emacs会话具有客户端” - 我怎么知道为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!