# HG changeset patch # User Stefan Monnier # Date 1039824698 0 # Node ID b6981c46191d04e493b20ff49814603a8c16bc9a # Parent b4f252602421d8246a490d8ddcd945262918239e (text_read_only): New arg `propval'. (get_char_property_and_overlay): Remove unused var `next_overlay'. (verify_interval_modification): Use text_read_only's new arg. diff -r b4f252602421 -r b6981c46191d src/textprop.c --- a/src/textprop.c Fri Dec 13 23:58:55 2002 +0000 +++ b/src/textprop.c Sat Dec 14 00:11:38 2002 +0000 @@ -83,9 +83,10 @@ to capture that error in GDB by putting a breakpoint on it. */ static void -text_read_only () +text_read_only (propval) + Lisp_Object propval; { - Fsignal (Qtext_read_only, Qnil); + Fsignal (Qtext_read_only, STRINGP (propval) ? Fcons (propval, Qnil) : Qnil); } @@ -604,7 +605,7 @@ return textget (Ftext_properties_at (position, object), prop); } -/* Return the value of POSITION's property PROP, in OBJECT. +/* Return the value of char's property PROP, in OBJECT at POSITION. OBJECT is optional and defaults to the current buffer. If OVERLAY is non-0, then in the case that the returned property is from an overlay, the overlay found is returned in *OVERLAY, otherwise nil is @@ -638,7 +639,6 @@ int posn = XINT (position); int noverlays; Lisp_Object *overlay_vec, tem; - int next_overlay; int len; struct buffer *obuf = current_buffer; @@ -649,7 +649,7 @@ overlay_vec = (Lisp_Object *) alloca (len * sizeof (Lisp_Object)); noverlays = overlays_at (posn, 0, &overlay_vec, &len, - &next_overlay, NULL, 0); + NULL, NULL, 0); /* If there are more than 40, make enough space for all, and try again. */ @@ -658,7 +658,7 @@ len = noverlays; overlay_vec = (Lisp_Object *) alloca (len * sizeof (Lisp_Object)); noverlays = overlays_at (posn, 0, &overlay_vec, &len, - &next_overlay, NULL, 0); + NULL, NULL, 0); } noverlays = sort_overlays (overlay_vec, noverlays, w); @@ -2051,7 +2051,7 @@ if (TMEM (Qread_only, tem) || (NILP (Fplist_get (i->plist, Qread_only)) && TMEM (Qcategory, tem))) - text_read_only (); + text_read_only (after); } } @@ -2071,7 +2071,7 @@ if (! TMEM (Qread_only, tem) && (! NILP (Fplist_get (prev->plist,Qread_only)) || ! TMEM (Qcategory, tem))) - text_read_only (); + text_read_only (before); } } } @@ -2090,13 +2090,13 @@ if (TMEM (Qread_only, tem) || (NILP (Fplist_get (i->plist, Qread_only)) && TMEM (Qcategory, tem))) - text_read_only (); + text_read_only (after); tem = textget (prev->plist, Qrear_nonsticky); if (! TMEM (Qread_only, tem) && (! NILP (Fplist_get (prev->plist, Qread_only)) || ! TMEM (Qcategory, tem))) - text_read_only (); + text_read_only (after); } } } @@ -2118,7 +2118,7 @@ do { if (! INTERVAL_WRITABLE_P (i)) - text_read_only (); + text_read_only (textget (i->plist, Qread_only)); if (!inhibit_modification_hooks) {