Any chances of getting this patch committed?

Thanks and cheers,
Jarosław Rzeszótko

On Mon, Jan 15, 2018 at 8:22 PM, Jarosław Rzeszótko <jrzeszotko@gmail.com> wrote:
Stefan,

I did not know about condition-case-unless-debug, it indeed does make debugging possible with a simpler change and without any side effects. I attach the patch.

Cheers,
Jarosław Rzeszótko

On Sat, Jan 13, 2018 at 10:22 AM, Jarosław Rzeszótko <jrzeszotko@gmail.com> wrote:
I attach a patch for ielm.el that makes it possible to enter the debugger when executing expressions in ielm, and that makes ielm respect the debug-on-error and debug-on-exit flags. 

I guess that possibly the reason that was not originally done is that it is not obvious how to restore ielm to a usable state after the debugger has been entered. My patch makes use of the fact that unwind-protect unwind forms are still executed when user resumes execution from the debugger after an error.

Without the patch, ielm wraps the evaluation of the expression given by the user in a condition case, and in case of an error, or exit, displays an appropriate message in its buffer, right under the evaluated expression, regardless of debug-on-error and debug-on-exit. 

With the patch, the message that ielm displays in its buffer will be a generic error message  regardless if there was an error in the evaluated form, or a quit. However:

- if debug-on-error is t, emacs will enter the debugger and show a stack trace, just like with almost any other evaluation method. When the user continues the execution from the debugger, ielm will correctly resume execution

- if debug-on-error is nil, emacs will display the specific error in the minibuffer anyway

Similar things are true for debug-on-quit.

I think this is an improvement over the current state of affairs. Of course ideally I would like to preserve the "nice" message in ielm buffer and make the improvements I made, but emacs does not seem to make it possible to do some handling of an error and then to re-raise it while preserving the original stack trace.

Cheers,
Jarosław Rzeszótko