Subject: bug#23949: 25.0.95; Regression in handling error caused by (string-match-p "." nil)

From: Stefan Monnier <[email-masked]>
Date: Tue, 12 Jul 2016 16:27:03 -0400

> Correct, but that error does not show up within emacs. All the user sees is:
> Entering debugger...
> help-function-arglist: End of file during parsing

Clearly, the problem is that string-match-p uses
"(let ((inhibit-changing-match-data t))", so the debugger is run with
inhibit-changing-match-data bound to t and that breaks lots of
Elisp code.

That's a general problem with the use dynamic binding to pass extra
parameters: you end up passing them not just to that one function but
also to all other functions called from that one.

        Stefan