2011-06-28 52 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