From 0644e6f56d2be82dd716478eb65e7b3c761d813d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 28 Jun 2016 19:03:43 +0300 Subject: [PATCH] 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) --- src/textprop.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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; -- 2.39.2