Mercurial > emacs
changeset 33952:ca22422634ac
(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.:
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 28 Nov 2000 11:49:05 +0000 |
parents | ac7551c36926 |
children | 80c90f83320d |
files | src/textprop.c |
diffstat | 1 files changed, 18 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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))