Como usar o SLIME como um proxy entre o programa Common Lisp e o Emacs Lisp?

15

Estou pensando em fazer o seguinte: Eu tenho um programa escrito em Common Lisp, que eu quero poder me comunicar com o Emacs. O programa lida com a análise de linguagem natural; portanto, o que eu precisaria acessar no Emacs seria o conteúdo do buffer e algumas análises preliminares mínimas necessárias para criar mensagens a serem enviadas ao programa Common Lisp. O programa Common Lisp processará as mensagens e responderá ao programa Emacs Lisp, para exibir os resultados.

Entendo que o SLIME seria uma boa ferramenta a ser usada para conseguir isso, principalmente porque já faz a maior parte, mas, olhando para a documentação, acho que é do tipo "documentação do usuário", não uma "documentação do desenvolvedor". Essencialmente, eu gostaria de saber qual é o mínimo que eu poderia usar no lado do Emacs Lisp para iniciar a comunicação (eu certamente não preciso da introspecção, ou do REPL nesse caso, tudo o que preciso é enviar mensagens para e do meu programa em execução no SWANK).

wvxvw
fonte

Respostas:

7

Do lado do CL, a função que você procura é swank::eval-in-emacspara a qual você passa o código que deseja avaliar no emacs. Você pode ver um exemplo aqui , para fazer o emacs executar o comando graphivz e abrir o png resultante em um buffer. Do lado do emacs, a função que você está procurando é slime-eval (encontrada em slime.el)

PuercoPop
fonte
Desculpe, demorei um pouco para voltar a isso.
Wvxvw