changeset 5780:07449eefd453

(verify_interval_modification): When checking read-only, allow for the case that stickiness might be t instead of a list.
author Karl Heuer <kwzh@gnu.org>
date Fri, 04 Feb 1994 20:51:16 +0000
parents 8fae1a51e9c5
children 5ebe399ed4a3
files src/intervals.c
diffstat 1 files changed, 19 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/src/intervals.c	Fri Feb 04 20:41:54 1994 +0000
+++ b/src/intervals.c	Fri Feb 04 20:51:16 1994 +0000
@@ -1831,14 +1831,16 @@
 		     front-sticky, inhibit insertion.
 		     Check for read-only as well as category.  */
 		  if (! NILP (after)
-		      && NILP (Fmemq (after, Vinhibit_read_only))
-		      && (! NILP (Fmemq (Qread_only,
-					 textget (i->plist, Qfront_sticky)))
+		      && NILP (Fmemq (after, Vinhibit_read_only)))
+		    {
+		      Lisp_Object tem;
+
+		      tem = textget (i->plist, Qfront_sticky);
+		      if (TMEM (Qread_only, tem)
 			  || (NILP (textget_direct (i->plist, Qread_only))
-			      && ! NILP (Fmemq (Qcategory,
-						textget (i->plist,
-							 Qfront_sticky))))))
-		    error ("Attempt to insert within read-only text");
+			      && TMEM (Qcategory, tem)))
+			error ("Attempt to insert within read-only text");
+		    }
 		}
 	      else
 		after = Qnil;
@@ -1850,14 +1852,16 @@
 		     rear-nonsticky, inhibit insertion.
 		     Check for read-only as well as category.  */
 		  if (! NILP (before)
-		      && NILP (Fmemq (before, Vinhibit_read_only))
-		      && NILP (Fmemq (Qread_only,
-				      textget (prev->plist, Qrear_nonsticky)))
-		      && (! NILP (textget_direct (prev->plist,Qread_only))
-			  || NILP (Fmemq (Qcategory,
-					  textget (prev->plist,
-						   Qrear_nonsticky)))))
-		    error ("Attempt to insert within read-only text");
+		      && NILP (Fmemq (before, Vinhibit_read_only)))
+		    {
+		      Lisp_Object tem;
+
+		      tem = textget (prev->plist, Qrear_nonsticky);
+		      if (! TMEM (Qread_only, tem)
+			  && (! NILP (textget_direct (prev->plist,Qread_only))
+			      || ! TMEM (Qcategory, tem)))
+			error ("Attempt to insert within read-only text");
+		    }
 		}
 	      else
 		before = Qnil;