On 21/10/2019 23:24, Vladimir Nikishkin wrote: > Well, checking for "output" doesn't seem to be useful any way, since > "output" is never 'nil. > > Regarding the fact that the error should be reported to the geiser > mailing list, that's entirely true. The problem is that the person who > would be responsible for this error would be me. :) At least for the > chibi-scheme part. > > I don't think that having a few extra checks on the org/geiser interface > is bad, especially there is also comint coming into play. I can imagine > valid reasons when "output" is not a valid serialized scheme expression. > > On 21/10/2019 22:46, Neil Jerram wrote: >> 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 >>   A particularl example could be, perhaps, when an interpreter crashes and produces something like "Segmentation fault", which is not a valid geiser-sexp.