On Mon, 21 Oct 2019 at 15:16, Vladimir Nikishkin <lockyw...@gmail.com>
wrote:

> Yeah. The "output" is not the result of geiser's elisp functions, as far
> as I understand, it comes from comint, which reads it from a scheme
> interpreter, and is expected to be formatted specifically to be fed into
> geiser-eval--retort-output by the geiser scheme functions (running
> inside a scheme interpreter).
>
> So "output" is never 'nil, because comint, when scheme produces some
> rubbish, just makes it an empty string, which is not 'nil.
>
> Then, "output" is expected to be "retorted" back from a serialized
> scheme expression into an elisp expression by
> geiser-eval--retort-output. And this actually may and produce a 'nil,
> but there is no check for it.
>
> So, again, both of the geiser steps (namely, (a) serializing a sexp in
> scheme, and (b) de-serializing it in geiser-eval--retort-output) may fail.
>

I agree that it's fragile for geiser/scheme to output a sexp that it hopes
geiser/elisp will be able to read back.  (I'm guilty of doing that in the
past too!)

Do you have a specific example of that?  It feels like the right thing to
do would be to report that to the Geiser list, as this could and should be
fixed entirely within the Geiser code.


>
> Yes, I have seen this going on, actually quite a lot, because both
> geiser and different scheme interpreters are in constant development and
> get broken every other day.
>

I use Org with Guile 2.2.3 (via Geiser), and it seems a pretty stable setup
to me.

Best wishes,
     Neil

Reply via email to