Hi, Maxime Devos <maximede...@telenet.be> skribis:
> Maybe my answer on IRC is relevant here: > > https://logs.guix.gnu.org/guile/2022-09-01.log#231503 Interesting. It’s a Guile bug, and a tricky one. Here’s what Andy wrote on IRC: <sneek> civodul, wingo says: i believe it is a bug. in a pre-unwind handler, you want to make it so that if it throws again, it is handled by the handler that was current when the with-exception-handler was invoked (the dynamically outer handler) <sneek> civodul, wingo says: to implement this, when a throw first starts, we capture the current handler stack, and arrange for subsequent throws to resolve via that captured handler stack <sneek> civodul, wingo says: but if there is an additional with-exception-handler within the exception handler, that doesn't augment the captured exception handler stack to which inner exceptions will dispatch <sneek> civodul, wingo says: the fix will be small but also gnarly :P will take some thinking. there are funny interactions with delimited continuations I’ll defer to Andy to see what the best way to fix it is… What’s frustrating is that I can’t think of a way to work around it, except by changing ‘terminal-columns’ & co. to not use exceptions (or introducing a variant that does that). Thoughts? Ludo’.