From: Paul Eggert Date: Wed, 12 Dec 2018 17:54:42 +0000 (-0800) Subject: set_text_properties_1 can assume START <= END X-Git-Tag: emacs-27.0.90~4000^2~7 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=23e9e8abaab6f0c90412fc5fae08e5995a26d84c;p=emacs.git 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. --- diff --git a/src/textprop.c b/src/textprop.c index 8e8baf43d9f..add14eb4a78 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -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)