diff --git a/src/textprop.c b/src/textprop.c index 6c317063d6d..189dd4726e8 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -647,6 +647,10 @@ back past position LIMIT; fail if nothing is found before LIMIT.") if (NULL_INTERVAL_P (i)) return limit; + /* Start with the interval containing the char before point. */ + if (i->position == XFASTINT (pos)) + i = previous_interval (i); + previous = previous_interval (i); while (! NULL_INTERVAL_P (previous) && intervals_equal (previous, i) && (NILP (limit) @@ -686,6 +690,10 @@ back past position LIMIT; fail if nothing is found before LIMIT.") if (NULL_INTERVAL_P (i)) return limit; + /* Start with the interval containing the char before point. */ + if (i->position == XFASTINT (pos)) + i = previous_interval (i); + here_val = textget (i->plist, prop); previous = previous_interval (i); while (! NULL_INTERVAL_P (previous)