2011-06-28 49 views
2

我在Win7上调用emacsclientw来处理组织文件。我想要Emacs缓冲区在处理后关闭,这样如果在Emacs之外编辑该文件并且将该调用重新发送给emacsclientw,它将处理已更改的文件。我希望缓冲区在emacsclient - eval结束时被杀死。如果我不能得到那个,那么只要摆脱在emacs之外编辑文件之后重新执行命令行调用时得到的'File has changed,reload(yes or no)'提示符即可。从命令行调用emacsclientw的问题

这里的命令行调用,但是缓冲保持甚至杀缓冲功能后,屏幕上的Emacs框架开放工作正常(虽然它说“推到了杀戒”)。我知道kill-buffer不应该在emacs客户端上做我想做的事情;我也试着服务器编辑和服务器杀死缓冲,没有更好的结果:

c:/users/herbert/emacsclientw -n --eval ^"(let ((org-export- 
babel-evaluate nil)) (progn (find-file \^"c:/users/herbert/desktop/org_files 
/gtdsample.org\^") (org-export-as-html-and-open nil) (kill-buffer)))^" 

是否有某种方式来获得在Emacs缓冲区关闭?或者,如果在编辑Emacs之外的gtdsample.org文件后尝试重新执行相同的命令,是否有某种方法可以阻止它启动提示?

回答

0

只是一个想法,你可以尝试,而不是(杀缓冲)(服务器编辑)或(服务器交换机缓冲器)。

+0

谢谢。正如我所说我也尝试(服务器编辑)和(服务器杀死缓冲区),但不(服务器切换缓冲区)。然而,答案结果并不是与客户端/服务器问题有关,上面的代码让我处于不同的缓冲区,而不是我想要的那个。所以修改它以确保正确的缓冲区和它的工作。再次感谢您的意见。 –

+0

啊,这就解释了:) – db48x