diff src/editfns.c @ 40044:7a0668d72687

(text_property_stickiness): Non-rear-non-stickiness doesn't take precedence if the affected property's value is nil. (Fencode_time): Escape a BOL paren in the doc-string.
author Miles Bader <miles@gnu.org>
date Fri, 19 Oct 2001 07:03:40 +0000
parents c9ad5da1f79d
children 5858ea32e564
line wrap: on
line diff
--- a/src/editfns.c	Fri Oct 19 06:26:06 2001 +0000
+++ b/src/editfns.c	Fri Oct 19 07:03:40 2001 +0000
@@ -357,17 +357,23 @@
   if (XINT (pos) > BEGV)
     /* Consider previous character.  */
     {
-      Lisp_Object prev_pos, rear_non_sticky;
-
-      prev_pos = make_number (XINT (pos) - 1);
-      rear_non_sticky = Fget_text_property (prev_pos, Qrear_nonsticky, Qnil);
-
-      if (EQ (rear_non_sticky, Qnil)
-	  || (CONSP (rear_non_sticky)
-	      && NILP (Fmemq (prop, rear_non_sticky))))
-	/* PROP is not rear-non-sticky, and since this takes precedence over
-	   any front-stickiness, PROP is inherited from before.  */
-	return -1;
+      Lisp_Object prev_pos = make_number (XINT (pos) - 1);
+
+      if (! NILP (Fget_text_property (prev_pos, prop, Qnil)))
+	/* Non-rear-non-stickiness only takes precedence if the
+	   preceding property value is non-nil.  */
+	{
+	  Lisp_Object rear_non_sticky
+	    = Fget_text_property (prev_pos, Qrear_nonsticky, Qnil);
+
+	  if (EQ (rear_non_sticky, Qnil)
+	      || (CONSP (rear_non_sticky)
+		  && NILP (Fmemq (prop, rear_non_sticky))))
+	    /* PROP is not rear-non-sticky, and since this takes
+	       precedence over any front-stickiness, PROP is inherited
+	       from before.  */
+	    return -1;
+	}
     }
 
   /* Consider following character.  */
@@ -1599,7 +1605,7 @@
 This is the reverse operation of `decode-time', which see.
 ZONE defaults to the current time zone rule.  This can
 be a string or t (as from `set-time-zone-rule'), or it can be a list
-(as from `current-time-zone') or an integer (as from `decode-time')
+\(as from `current-time-zone') or an integer (as from `decode-time')
 applied without consideration for daylight savings time.
 
 You can pass more than 7 arguments; then the first six arguments