On Mon, 21 Oct 2019 at 15:16, Vladimir Nikishkin 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