Как использовать SLIME в качестве прокси между программой Common Lisp и Emacs Lisp?

15

Я пытаюсь сделать следующее: у меня есть программа, написанная на Common Lisp, и я хочу иметь возможность общаться с Emacs. Программа имеет дело с синтаксическим анализом на естественном языке, поэтому в Emacs мне нужно было бы получить доступ к содержимому буфера и некоторому минимальному предварительному анализу, необходимому для создания сообщений для отправки в программу Common Lisp. Затем программа Common Lisp обработает сообщения и ответит программе Emacs Lisp, чтобы отобразить результаты.

Я понимаю, что SLIME будет хорошим инструментом для достижения этой цели, главным образом потому, что он уже выполняет большую часть этого, но, изучая документацию, я обнаруживаю, что это «документация пользователя», а не «документация разработчика». По сути, я хотел бы знать, какой минимум я мог бы использовать на стороне Emacs Lisp для обеспечения связи (мне, конечно, не нужен самоанализ, или REPL в этом случае, все, что мне нужно, это отправлять сообщения и из моей программы работает в SWANK).

wvxvw
источник

Ответы:

7

Со стороны CL функция, которую вы ищете, - swank::eval-in-emacsэто передача кода, который вы хотите оценить в emacs. Вы можете увидеть пример здесь , чтобы заставить emacs запустить команду graphivz и открыть полученный png в буфере. Со стороны emacs вы ищете функцию slime-eval (найдена в slime.el)

PuercoPop
источник
Извините, мне понадобилось время, чтобы вернуться к этому.
wvxvw