aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
authorEli Zaretskii2018-08-09 18:08:35 +0300
committerEli Zaretskii2018-08-09 18:08:35 +0300
commit71c92d89137b7fdde6c2bd4bed9b8dfda5fa53dd (patch)
treecbeb28b0a8287a43796cdaaf9ad806446d22d88a /test/src
parent96be6b6eb99ae1d77702932c97e8b3a147c6265a (diff)
downloademacs-71c92d89137b7fdde6c2bd4bed9b8dfda5fa53dd.tar.gz
emacs-71c92d89137b7fdde6c2bd4bed9b8dfda5fa53dd.zip
Fix copying text properties by 'format'
* src/editfns.c (styled_format): Add the spec beginning index to the info recorded for each format spec, and use it to detect the case that a format spec and its text property end where the next spec with another property begins. (Bug#32404) * test/src/editfns-tests.el (format-properties): Add tests for bug#32404.
Diffstat (limited to 'test/src')
-rw-r--r--test/src/editfns-tests.el16
1 files changed, 15 insertions, 1 deletions
diff --git a/test/src/editfns-tests.el b/test/src/editfns-tests.el
index ec411ff773b..c2ec99d8032 100644
--- a/test/src/editfns-tests.el
+++ b/test/src/editfns-tests.el
@@ -88,7 +88,21 @@
88 (format "%-10s" (concat (propertize "01" 'face 'bold) 88 (format "%-10s" (concat (propertize "01" 'face 'bold)
89 (propertize "23" 'face 'underline) 89 (propertize "23" 'face 'underline)
90 (propertize "45" 'face 'italic))) 90 (propertize "45" 'face 'italic)))
91 #("012345 " 0 2 (face bold) 2 4 (face underline) 4 10 (face italic))))) 91 #("012345 "
92 0 2 (face bold) 2 4 (face underline) 4 10 (face italic))))
93 ;; Bug #32404
94 (should (ert-equal-including-properties
95 (format (concat (propertize "%s" 'face 'bold)
96 ""
97 (propertize "%s" 'face 'error))
98 "foo" "bar")
99 #("foobar" 0 3 (face bold) 3 6 (face error))))
100 (should (ert-equal-including-properties
101 (format (concat "%s" (propertize "%s" 'face 'error)) "foo" "bar")
102 #("foobar" 3 6 (face error))))
103 (should (ert-equal-including-properties
104 (format (concat "%s " (propertize "%s" 'face 'error)) "foo" "bar")
105 #("foo bar" 4 7 (face error)))))
92 106
93;; Tests for bug#5131. 107;; Tests for bug#5131.
94(defun transpose-test-reverse-word (start end) 108(defun transpose-test-reverse-word (start end)