From: Eli Zaretskii Date: Tue, 28 Jun 2016 16:03:43 +0000 (+0300) Subject: Fix copying properties in 'format' when it produces padding X-Git-Tag: emacs-26.0.90~1840^2~149 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0644e6f56d2be82dd716478eb65e7b3c761d813d;p=emacs.git Fix copying properties in 'format' when it produces padding * src/textprop.c (extend_property_ranges): Correct range extension when the new end is beyond the old end. (Bug#23859) --- diff --git a/src/textprop.c b/src/textprop.c index c4e49d98ebc..aabd5671e76 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -2065,9 +2065,14 @@ extend_property_ranges (Lisp_Object list, Lisp_Object new_end) else XSETCDR (prev, XCDR (list)); } - else if (XINT (end) > max) - /* The end-point is past the end of the new string. */ - XSETCAR (XCDR (item), new_end); + else if (XINT (end) != max) + { + /* Either the end-point is past the end of the new string, + and we need to discard the properties past the new end, + or the caller is extending the property range, and we + should update the end-point to reflect that. */ + XSETCAR (XCDR (item), new_end); + } } return head;