2009-07-13 4 views
1

저는 입력을 기다리는 동안 무한히 기다리는 파이썬 스크립트를 가지고 있습니다. 그리고 나서 은 입력이 발생할 때 어떤 일을합니다. 내 문제는 다음 파이썬을 만드는 것입니다 이맥스 뭔가를 말해. 그냥 이멕스 입력 을 보내고 이맥스가 그 입력을 평가할 수있는 방법이 필요합니다. 이맥스를 구동 할 파이썬; pymacs가 작동하지 않습니다.

여기
while(1): 

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

가 이상적으로 나는 그것의 elisp 인터프리터 평가하는 이맥스에게 문자열을 보낼 것 ... 내 문제를 설명하기 위해 몇 가지 코드입니다. 나는 pymac을 시도했지만 pymac이 마치 파이썬이 아닌 emacs에서 시작하는 것처럼 보입니다. 내가 이런 pymacs에서 시도 할 때 루프가 끝날 때까지 잠급니다. 이것은 내가 충분히 알고있는 한 유닉스 파이프 라인으로 해결할 수있는 문제처럼 보입니다. 아무도이 문제를 해결하는 방법에 대한 아이디어가 있다면 많은 감사를 드리겠습니다.

답변

4

외부 프로그램의 코드를 평가하고 실행중인 Emacs에 연결하려면 gnuclient (Emacs 22와 함께 제공됨) (또는 이전 Emacsen의 경우 emacsclient)을 사용할 수 있습니다. 자체가 이런 식으로 뭔가 보일 것으로 이맥스 코드를 평가 받기

:

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

gnuclient는 이맥스 것입니다; GNU 이맥스는 항상 그것을 emacsclient라고 부릅니다. – jrockway

관련 문제