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

From: Eli Zaretskii <[email-masked]>
Date: Wed, 13 Jul 2016 18:14:39 +0300

> From: Stefan Monnier <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Wed, 13 Jul 2016 10:48:15 -0400
> 
> > I also think that the "breaks a lot of Elisp code" part is at least a
> > tad exaggerated.
> 
> Binding inhibit-changing-match-data to t will pretty much break any
> function that uses match-beginning or match-end.

But those functions aren't supposed to run when string-match is
called.

> > (defsubst string-match-p (regexp string &optional start)
> >   "\
> > Same as `string-match' except this function does not change the match data."
> >   (condition-case err
> >       (let ((inhibit-changing-match-data t))
> > 	(string-match regexp string start))
> >     (error (signal (car err) (cdr err)))))
> 
> That will still cause the same problems when debug-on-signal is non-nil.

So you don't consider this an improvement that should be installed?