“这个Emacs会议有客户” - 我怎么找出原因?

时间:2012-04-17 19:08:10

标签: emacs

每隔一段时间,在C-x C-c上,Emacs宣布“这个Emacs会话有客户端;无论如何退出?”。

(我在Windows 7上使用Emacs 24beta,以防万一。)

我预计有些文件是通过emacsclientw.exe打开的 - 但是我没有看到任何文件。

(我有 git config --global core.editor“/c/lang/emacs-24beta/bin/emacsclientw.exe”)

有没有办法找出哪些缓冲区有客户端? (或者还有什么需要寻找的吗?)

2 个答案:

答案 0 :(得分:8)

  

有没有办法找出哪些缓冲区有客户端?

当缓冲区有客户端时,其server-buffer-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)))

答案 1 :(得分:2)

我已将<executable>bower</executable> <arguments> <argument>install</argument> <argument>--allow-root</argument> </arguments> 改编为上市客户。 您将获得一个包含新定义的命令list-processes的客户端进程的列表。 每个客户端都与服务器编辑缓冲区一起列出,客户端作为list-clients中的第一个条目。

server-buffer-clients