¿Cómo usar SLIME como proxy entre el programa Common Lisp y Emacs Lisp?

Pregunta:

Estoy buscando hacer lo siguiente: Tengo un programa escrito en Common Lisp, que quiero poder comunicarme con Emacs. El programa se ocupa del análisis del lenguaje natural, por lo que las cosas a las que necesitaría acceder en Emacs serían el contenido del búfer y un mínimo de análisis preliminar requerido para crear mensajes para enviar al programa Common Lisp. El programa Common Lisp luego procesará los mensajes y responderá al programa Emacs Lisp, de modo que mostrará los resultados.

Entiendo que SLIME sería una buena herramienta para lograr esto, principalmente porque ya hace la mayor parte, pero al buscar en la documentación encuentro que es del tipo "documentación del usuario", no "documentación del desarrollador". Esencialmente, me gustaría saber cuál es el mínimo que podría usar en el lado de Emacs Lisp para poner en marcha la comunicación (ciertamente no necesito la introspección, o REPL en este caso, todo lo que necesito es enviar mensajes ay desde mi programa que se ejecuta en SWANK).

Respuesta:

Desde el lado de CL, la función que está buscando es swank::eval-in-emacs a la que le pasa el código que desea evaluar en emacs. Puede ver un ejemplo aquí , para hacer que emacs ejecute el comando graphivz y abra el png resultante en un búfer. Desde el lado de emacs, la función que está buscando es slime-eval (que se encuentra en slime.el)

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım