2
从Emacs调用的程序中调用emacsclient
我在使用AucTex查看pdf文档文件时遇到问题。我pdf-tools曾经在Emacs中查看PDF文件,并且将其设置emacsclient -n为默认的pdf查看器(通过Debian Linux上的xdg-mime)。在大多数情况下,此方法工作正常,但会破坏(Tex-documentation-texdoc ...)Auctex(C-c ?)的功能。 我已将问题缩小为一行代码。当我尝试查看该listings软件包的文档时,TeX-documentation-texdoc将其转换为以下sexp: (shell-command-to-string "texdoc --view listings") texdoc依次调用emacsclient实际打开文件(基于我通过xdg配置桌面的方式)。但是,此时,Emacs挂起,我需要退出(C-g)以重新获得控制权。之后,将不会打开新的pdf。如果我尝试直接调用emacsclient,则会发生相同的事情: (shell-command-to-string "emacsclient -n tmp.pdf") 这两个命令都在命令行上运行(即emacsclient -n tmp.pdf和)texdoc --view listings。 我的问题是,在这种情况下,如何在Emacs中调用emacsclient?(而且我知道我可以使用find-file;仅打开pdf文件,这不是一个选项,因为我需要调用外部进程(texdoc)来查找文件,然后该进程调用emacsclient)。