[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: The client/server protocol?
From: |
Jose A. Ortega Ruiz |
Subject: |
Re: The client/server protocol? |
Date: |
Tue, 13 Apr 2021 00:28:29 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
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)