Skip to content

Commit

Permalink
Fix 'add-display-text-property' when OBJECT is non-nil
Browse files Browse the repository at this point in the history
* 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.
  • Loading branch information
Eli-Zaretskii committed Dec 6, 2022
1 parent d58d1dd commit 70a2eb4
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
5 changes: 3 additions & 2 deletions lisp/emacs-lisp/subr-x.el
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,8 @@ this defaults to the current buffer."
(min end (point-max)))))
(if (not (setq disp (get-text-property sub-start 'display object)))
;; 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.
(let ((vector nil))
;; Make disp into a list.
Expand All @@ -390,7 +391,7 @@ this defaults to the current buffer."
(when vector
(setq disp (seq-into disp 'vector)))
;; 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))))

;;;###autoload
Expand Down
11 changes: 10 additions & 1 deletion test/lisp/emacs-lisp/subr-x-tests.el
Original file line number Diff line number Diff line change
Expand Up @@ -707,7 +707,16 @@
(should (equal (get-text-property 2 'display) '(raise 0.5)))
(should (equal (get-text-property 5 'display)
[(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 ()
(let ((funs ()))
Expand Down

0 comments on commit 70a2eb4

Please sign in to comment.