# HG changeset patch # User Miles Bader # Date 1003475020 0 # Node ID 7a0668d726874b0c123afaecddfd99c244146d9c # Parent 663e02974a1238bb95b9688a7583ef23ce9d7fb3 (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. diff -r 663e02974a12 -r 7a0668d72687 src/editfns.c --- 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