geiser-users
[Top][All Lists]
Advanced

[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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]