2011-06-28 13 views
2

Orgファイルを処理するためにWin7でemacsclientwを呼び出しています。処理後にEmacsバッファを閉じて、ファイルがEmacsの外で編集され、呼び出しがemacsclientwに再送信されると、変更されたファイルを処理するようにします。 emacsclient --evalの最後にバッファを殺すことを望みます。私がそれを得ることができないならば、emacsの外でファイルを編集した後にコマンドラインコールをやり直すときに、 'File has changed、reload(yes or no)'というプロンプトを出すだけでいいです。コマンドラインからemacsclientwを呼び出す際の問題

kill-buffer機能の後であっても、バッファがEmacsフレーム内で開いたままであることを除いて、コマンドラインの呼び出しはうまくいきます( 'killリングにプッシュ'とは言いますが)。私は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

(kill-buffer)ではなく、(server-edit)または(server-switch-buffer)を試してみてください。

+0

ありがとうございました。私が言ったように私は(server-edit)と(server-kill-buffer)を試みましたが、(server-switch-buffer)は試みませんでした。しかし、クライアント/サーバの問題に関係しないと答えたのは、上記のコードが、私が殺したかったバッファとは別のバッファに私を残しているということでした。正しいバッファを確保するためにそれを修正し、それが機能しました。入力してくれてありがとう。 –

+0

ああ、それはそれを説明する:) – db48x

関連する問題