On Tue, Apr 13 2021, HiPhish wrote: > Thank you for the answer. That sounds pretty simple, I'll give the Guile > server a try and see if I can interact with it directly. Can you please point > me to where Emacs starts the Guile process?
Emacs starts a guile process with the parameters returned by geiser-guile--parameters (https://gitlab.com/emacs-geiser/guile/blob/master/geiser-guile.el#L152), which in my system just returns: "-q" "-L" "/home/jao/lib/elisp/geiser/guile/src" Initialisation of the repl is then done by the geiser-guile--startup function (https://gitlab.com/emacs-geiser/guile/blob/master/geiser-guile.el#L402) Basically, that function issues the command ,use (geiser emacs) With a REPL started that way, you can also go to the module ,m (geiser emacs) and play directly with the ge: functions. The elisp side of geiser-guile actually sometimes doesn't call those functions directly, but sends instead equivalent ,-commands (defined also in emacs.scm). You can see them in the interactive REPL with ,help geiser > As for the different implementations, I am aware of the issue. My idea > was to get things to work with Guile first, and then write > implementation-specific adapters. That way I can write the editor > client once, reuse the existing server implementations and only write > the adapter layers. That's less work than creating an entire editor > plugin for every individual implementation. Sounds like a plan. Please do not hesitate to keep asking here! Cheers, jao -- Besides the noble art of getting things done, there is the noble art of leaving things undone. The wisdom of life consists in the elimination of nonessentials. -Lin Yutang, writer and translator (1895-1976)