我有一个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是从emacs开始的,而不是python。当我在pymacs中尝试类似的操作时,它会锁定,直到循环终止。这看起来像是一个我可以用unix管道解决的问题,如果我足够了解的话。如果有任何人对如何解决这个问题有任何想法,我将非常感谢,谢谢。
发布于 2009-07-13 20:16:11
您可以使用gnuclient (Emacs22附带的)(或早期Emacsen的emacsclient )来评估来自外部程序的代码并连接到正在运行的Emacs。
让Emacs自己评估代码看起来像这样:
gnuclient -q -batch -eval "(setq 'lightswitch t)"https://stackoverflow.com/questions/1121759
复制相似问题