1

入力を無期限に待機してループし、入力が発生したときに何かを実行するPythonスクリプトがあります。私の問題は、Pythonにemacsに何かをするように指示させることです。emacs入力を送信し、emacsにその入力を評価させる方法が必要です。

これが私の問題を説明するためのいくつかのコードです...

while(1):

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

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

4

1 に答える 1

4

gnuclient (Emacs 22 に付属) (以前のEmacsenでは emacsclient) を使用して、外部プログラムからのコードを評価し、実行中の Emacs に接続できます。

コードを単独で評価するように Emacs を取得すると、次のようになります。

gnuclient -q -batch -eval "(setq 'lightswitch t)"
于 2009-07-13T20:16:10.913 に答える