Commit 44214c1b authored by Richard M. Stallman's avatar Richard M. Stallman

(Fnext_single_property_change): Rearrange handling of

limit = t; don't return t.
parent 637df16f
...@@ -624,14 +624,16 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT.") ...@@ -624,14 +624,16 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT.")
CHECK_NUMBER_COERCE_MARKER (limit, 0); CHECK_NUMBER_COERCE_MARKER (limit, 0);
i = validate_interval_range (object, &pos, &pos, soft); i = validate_interval_range (object, &pos, &pos, soft);
if (NULL_INTERVAL_P (i))
return limit;
next = next_interval (i);
/* If LIMIT is t, return start of next interval--don't /* If LIMIT is t, return start of next interval--don't
bother checking further intervals. */ bother checking further intervals. */
if (EQ (limit, Qt)) if (EQ (limit, Qt))
{ {
if (NULL_INTERVAL_P (i))
next = i;
else
next = next_interval (i);
if (NULL_INTERVAL_P (next)) if (NULL_INTERVAL_P (next))
XSETFASTINT (pos, (STRINGP (object) XSETFASTINT (pos, (STRINGP (object)
? XSTRING (object)->size ? XSTRING (object)->size
...@@ -641,6 +643,11 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT.") ...@@ -641,6 +643,11 @@ past position LIMIT; return LIMIT if nothing is found before LIMIT.")
return pos; return pos;
} }
if (NULL_INTERVAL_P (i))
return limit;
next = next_interval (i);
while (! NULL_INTERVAL_P (next) && intervals_equal (i, next) while (! NULL_INTERVAL_P (next) && intervals_equal (i, next)
&& (NILP (limit) || next->position < XFASTINT (limit))) && (NILP (limit) || next->position < XFASTINT (limit)))
next = next_interval (next); next = next_interval (next);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment