2009-07-13 2 views
1

私は、入力を待って無期限にループするpythonスクリプトを持っていますし、 は何か入力があったときに何かします。私の問題は、pythonを作っているところです。 emacsに何かをさせるように指示します。私はちょうどemacs入力 を送信し、emacsがその入力を評価するようにする必要があります。Emacsを動かすためのPython; pymacsは動作しません

ここに私の問題を説明するためにいくつかのコードがあります...

while(1): 

    on_off = query_lightswitch 
    if on_off == 0: 
     send_text_to_emacs("(setq 'lightswitch t)") 

理想的には私は、Emacsにそれはそのelispのインタプリタで評価される文字列を送信したいです。 私はpymacsを試しましたが、pyymacsは、pythonではなく のemacsから始めるように作られているようです。私がpymacsでこれを試してみると、ループが終了するまでロックされます。 これは私が十分に知っていれば、私が がunixパイプラインで解決できる問題のようです。 誰かがこの問題を解決する方法についてのアイデアを持っているなら、私は にお礼を言いたいと思います。

答えて

4

gnuclient(Emacs 22に同梱)(または以前のEmacsenの場合はemacsclient)を使用して、外部プログラムのコードを評価し、実行中のEmacsに接続することができます。

Emacsが自身でコードを評価するために取得すると、このようなものになります。

gnuclient -q -batch -eval "(setq 'lightswitch t)" 
+1

gnuclientはXEmacsの事です。 GNU emacsは常にそれをemacsclient – jrockway

関連する問題