# HG changeset patch # User Gerd Moellmann # Date 975412145 0 # Node ID ca22422634ac110ea30dd42882aee02c44f17669 # Parent ac7551c369265f23a01317ddfb67c5521744e525 (text_read_only): New function. (verify_interval_modification): Use it instead of signaling `text-read-only'. This makes it easier to catch this error with a breakpoint.: diff -r ac7551c36926 -r ca22422634ac src/textprop.c --- a/src/textprop.c Tue Nov 28 11:38:55 2000 +0000 +++ b/src/textprop.c Tue Nov 28 11:49:05 2000 +0000 @@ -75,6 +75,18 @@ to be run later by report_interval_modification. */ Lisp_Object interval_insert_behind_hooks; Lisp_Object interval_insert_in_front_hooks; + + +/* Signal a `text-read-only' error. This function makes it easier + to capture that error in GDB by putting a breakpoint on it. */ + +static void +text_read_only () +{ + Fsignal (Qtext_read_only, Qnil); +} + + /* Extract the interval at the position pointed to by BEGIN from OBJECT, a string or buffer. Additionally, check that the positions @@ -1784,7 +1796,7 @@ /* For an insert operation, check the two chars around the position. */ if (start == end) { - INTERVAL prev; + INTERVAL prev = NULL; Lisp_Object before, after; /* Set I to the interval containing the char after START, @@ -1828,7 +1840,7 @@ if (TMEM (Qread_only, tem) || (NILP (Fplist_get (i->plist, Qread_only)) && TMEM (Qcategory, tem))) - Fsignal (Qtext_read_only, Qnil); + text_read_only (); } } @@ -1848,7 +1860,7 @@ if (! TMEM (Qread_only, tem) && (! NILP (Fplist_get (prev->plist,Qread_only)) || ! TMEM (Qcategory, tem))) - Fsignal (Qtext_read_only, Qnil); + text_read_only (); } } } @@ -1867,13 +1879,13 @@ if (TMEM (Qread_only, tem) || (NILP (Fplist_get (i->plist, Qread_only)) && TMEM (Qcategory, tem))) - Fsignal (Qtext_read_only, Qnil); + text_read_only (); tem = textget (prev->plist, Qrear_nonsticky); if (! TMEM (Qread_only, tem) && (! NILP (Fplist_get (prev->plist, Qread_only)) || ! TMEM (Qcategory, tem))) - Fsignal (Qtext_read_only, Qnil); + text_read_only (); } } } @@ -1895,7 +1907,7 @@ do { if (! INTERVAL_WRITABLE_P (i)) - Fsignal (Qtext_read_only, Qnil); + text_read_only (); mod_hooks = textget (i->plist, Qmodification_hooks); if (! NILP (mod_hooks) && ! EQ (mod_hooks, prev_mod_hooks))