Subject: Re: bug#40088: 27.0.90; Symbol’s value as variable is void: debugger-outer-match-data

From: Noam Postavsky <[email-masked]>
Date: Tue, 17 Mar 2020 07:44:01 -0400

Michael Heerdegen <[email-masked]> writes:

> Joost Kremers <[email-masked]> writes:
>
>> *** Eval error ***  Symbol’s value as variable is void:
>> debugger-outer-match-data
>
> Another defvar with a missing init value so the variable is not globally
> special?  Or is this case intentional for some reason?

It's something more complicated than that I think.  There are some extra
errors that get raised during the handling of the initial inciting
error, that somehow ends in inhibit-debugger being left set to t.  So
some spec/let-binding is getting snuck out of incorrectly perhaps?

It seems to be ielm specific, but I guess ielm just happens to be doing
something tricky enough to trigger the real bug which lies elsewhere.
As a workaround, you can (setq inhibit-debugger nil) after the first
failure happens.

I can't trigger the debugger-outer-match-data error in Emacs 26, but the
debugger doesn't seem to trigger from ielm at all in that version.