Fix 'add-display-text-property' when OBJECT is non-nil
* lisp/emacs-lisp/subr-x.el (add-display-text-property): Fix the case where OBJECT is not nil. (Bug#59857) * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-test-add-display-text-property): Add test for this case.
This commit is contained in:
parent
d58d1dd48a
commit
70a2eb4a0b
2 changed files with 13 additions and 3 deletions
|
@ -370,7 +370,8 @@ this defaults to the current buffer."
|
||||||
(min end (point-max)))))
|
(min end (point-max)))))
|
||||||
(if (not (setq disp (get-text-property sub-start 'display object)))
|
(if (not (setq disp (get-text-property sub-start 'display object)))
|
||||||
;; No old properties in this range.
|
;; No old properties in this range.
|
||||||
(put-text-property sub-start sub-end 'display (list prop value))
|
(put-text-property sub-start sub-end 'display (list prop value)
|
||||||
|
object)
|
||||||
;; We have old properties.
|
;; We have old properties.
|
||||||
(let ((vector nil))
|
(let ((vector nil))
|
||||||
;; Make disp into a list.
|
;; Make disp into a list.
|
||||||
|
@ -390,7 +391,7 @@ this defaults to the current buffer."
|
||||||
(when vector
|
(when vector
|
||||||
(setq disp (seq-into disp 'vector)))
|
(setq disp (seq-into disp 'vector)))
|
||||||
;; Finally update the range.
|
;; Finally update the range.
|
||||||
(put-text-property sub-start sub-end 'display disp)))
|
(put-text-property sub-start sub-end 'display disp object)))
|
||||||
(setq sub-start sub-end))))
|
(setq sub-start sub-end))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
|
@ -707,7 +707,16 @@
|
||||||
(should (equal (get-text-property 2 'display) '(raise 0.5)))
|
(should (equal (get-text-property 2 'display) '(raise 0.5)))
|
||||||
(should (equal (get-text-property 5 'display)
|
(should (equal (get-text-property 5 'display)
|
||||||
[(raise 0.5) (height 2.0)]))
|
[(raise 0.5) (height 2.0)]))
|
||||||
(should (equal (get-text-property 9 'display) '(raise 0.5)))))
|
(should (equal (get-text-property 9 'display) '(raise 0.5))))
|
||||||
|
(with-temp-buffer
|
||||||
|
(should (equal (let ((str "some useless string"))
|
||||||
|
(add-display-text-property 4 8 'height 2.0 str)
|
||||||
|
(add-display-text-property 2 12 'raise 0.5 str)
|
||||||
|
str)
|
||||||
|
#("some useless string"
|
||||||
|
2 4 (display (raise 0.5))
|
||||||
|
4 8 (display ((raise 0.5) (height 2.0)))
|
||||||
|
8 12 (display (raise 0.5)))))))
|
||||||
|
|
||||||
(ert-deftest subr-x-named-let ()
|
(ert-deftest subr-x-named-let ()
|
||||||
(let ((funs ()))
|
(let ((funs ()))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue