Commit 23e9e8ab authored by Paul Eggert's avatar Paul Eggert
Browse files

set_text_properties_1 can assume START <= END

* src/textprop.c (set_text_properties_1):
Do not swap START and END.  All callers do that already,
and the test for swapping here is redundant.
parent 6e76e11c
......@@ -1421,34 +1421,25 @@ set_text_properties (Lisp_Object start, Lisp_Object end, Lisp_Object properties,
/* Replace properties of text from START to END with new list of
properties PROPERTIES. OBJECT is the buffer or string containing
the text. This does not obey any hooks.
You should provide the interval that START is located in as I.
START and END can be in any order. */
I is the interval that START is located in. */
void
set_text_properties_1 (Lisp_Object start, Lisp_Object end, Lisp_Object properties, Lisp_Object object, INTERVAL i)
set_text_properties_1 (Lisp_Object start, Lisp_Object end,
Lisp_Object properties, Lisp_Object object, INTERVAL i)
{
register INTERVAL prev_changed = NULL;
register ptrdiff_t s, len;
INTERVAL unchanged;
INTERVAL prev_changed = NULL;
ptrdiff_t s = XFIXNUM (start);
ptrdiff_t len = XFIXNUM (end) - s;
if (XFIXNUM (start) < XFIXNUM (end))
{
s = XFIXNUM (start);
len = XFIXNUM (end) - s;
}
else if (XFIXNUM (end) < XFIXNUM (start))
{
s = XFIXNUM (end);
len = XFIXNUM (start) - s;
}
else
if (len == 0)
return;
eassert (0 < len);
eassert (i);
if (i->position != s)
{
unchanged = i;
INTERVAL unchanged = i;
i = split_interval_right (unchanged, s - unchanged->position);
if (LENGTH (i) > len)
......
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