[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: geiser-0.28.2/geiser-guile-0.28.1: Exception raised while evaluating
Re: geiser-0.28.2/geiser-guile-0.28.1: Exception raised while evaluating continuation in Scheme buffer
Mon, 13 Mar 2023 18:57:37 -0400
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
"Jose A. Ortega Ruiz" <email@example.com> writes:
> I think this is expected behaviour and non-trivial to fix. When
> evaluating expressions from a scheme buffer, string ports are used to
> capture the standard output fluid, so that any output can be displayed
> by Emacs inmmediately. This redirection to a string port is temporary,
> and the port is closed once the evaluation has finished. Then, when you
> invoke again the continuation, it's that already closed port that is
> used again, giving you an error.
> More generally, the problem is that capturing continuations captures
> also the state of the geiser library mediating evaluations, and that
> library is not reentrant. That's arguably a bug, but one that is very
> hard to fix.
Thank you for your response.
Perhaps the workaround is for users to write the Scheme code that has
continuations and load it from a file. Once it has been loaded and
interpreted via the REPL, the code works as expected. Possibly a note
could be added to the Geiser manual so that users know about this
problem (A "Known Bugs" section?). This would help users so that they
don’t spend a lot of time attempting to debug their (non-broken)