Re: [STUMP] [PATCH] Fix `eval-line' for the case when the user aborts

"Diogo F. S. Ramos" <[email protected]>
Newsgroups gmane.comp.window-managers.stumpwm.devel
Message-ID <[email protected]>
> Thanks for the patch! I've tweaked it a bit to get the behavior you
> suggest:
>> There might be a way to integrate this calling conventions, so
>> whichever the user aborts inside a input box, "Abort." is print and
>> there is no error thrown.
> This will be integrated in the master branch soon.

Cool, thank you.

Just let me reinterate what I said about throwing an error.

dc21a1c adds to `eval-line' the form (throw 'error :abort), which
`colon' also has.

When calling `eval-line' using a keybind, `call-interactively' is called
indirectly.  `call-interactively' has a `catch' form for `'error'.  So,
when the user presses C-g, `eval-line' throws the tag and
`call-interactively' catches it.  All good.

But, if one evaluates (eval-line nil) from the REPL, there will be no
`catch' for `'error', so there will be an error.  In SBCL, the error
reads "attempt to THROW to a tag that does not exist".

We are trading an error for another but admittedly, calling `eval-line'
from a REPL should be way less common than calling it using a keybind,
or even as a command from the `colon' input box.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.