specbind (Qinhibit_redisplay, Qnil);
specbind (Qinhibit_debugger, Qt);
+ /* If we are debugging an error while `inhibit-changing-match-data'
+ is bound to non-nil (e.g., within a call to `string-match-p'),
+ then make sure debugger code can still use match data. */
+ specbind (Qinhibit_changing_match_data, Qnil);
+
#if 0 /* Binding this prevents execution of Lisp code during
redisplay, which necessarily leads to display problems. */
specbind (Qinhibit_eval_during_redisplay, Qt);
A value of nil (which is the normal value) means treat spaces literally. */);
Vsearch_spaces_regexp = Qnil;
+ DEFSYM (Qinhibit_changing_match_data, "inhibit-changing-match-data");
DEFVAR_LISP ("inhibit-changing-match-data", Vinhibit_changing_match_data,
doc: /* Internal use only.
If non-nil, the primitive searching and matching functions