Make emoji-zoom-{increase,decrease} set text properties correctly
* lisp/international/emoji.el (emoji-zoom-increase): Ensure that we're increasing the :height of the anonymous face at point, rather than having two :height properties, which appeared to work by accident, and don't error at eob. (Bug#62675)
This commit is contained in:
parent
63d4a86f8d
commit
470d269ec1
1 changed files with 27 additions and 17 deletions
|
@ -707,23 +707,33 @@ We prefer the earliest unique letter."
|
||||||
"Increase the size of the character under point.
|
"Increase the size of the character under point.
|
||||||
FACTOR is the multiplication factor for the size."
|
FACTOR is the multiplication factor for the size."
|
||||||
(interactive)
|
(interactive)
|
||||||
(set-transient-map emoji-zoom-map t nil "Zoom with %k")
|
(set-transient-map emoji-zoom-map t #'redisplay "Zoom with %k")
|
||||||
(let* ((factor (or factor 1.1))
|
(unless (eobp)
|
||||||
(old (get-text-property (point) 'face))
|
(let* ((factor (or factor 1.1))
|
||||||
(height (or (and (consp old)
|
(old (get-text-property (point) 'face))
|
||||||
(plist-get old :height))
|
;; The text property is either a named face, or a plist
|
||||||
1.0))
|
;; with :height, or a list starting with such a plist,
|
||||||
(inhibit-read-only t))
|
;; followed by one or more faces.
|
||||||
(with-silent-modifications
|
(newheight (* (or (and (consp old)
|
||||||
(if (consp old)
|
(or (plist-get (car old) :height)
|
||||||
(add-text-properties
|
(plist-get old :height)))
|
||||||
(point) (1+ (point))
|
1.0)
|
||||||
(list 'face (plist-put (copy-sequence old) :height (* height factor))
|
factor))
|
||||||
'rear-nonsticky t))
|
(inhibit-read-only t))
|
||||||
(add-face-text-property (point) (1+ (point))
|
(with-silent-modifications
|
||||||
(list :height (* height factor)))
|
(if (consp old)
|
||||||
(put-text-property (point) (1+ (point))
|
(add-text-properties
|
||||||
'rear-nonsticky t)))))
|
(point) (1+ (point))
|
||||||
|
(list 'face
|
||||||
|
(if (eq (car old) :height)
|
||||||
|
(plist-put (copy-sequence old) :height newheight)
|
||||||
|
(cons (plist-put (car old) :height newheight)
|
||||||
|
(cdr old)))
|
||||||
|
'rear-nonsticky t))
|
||||||
|
(add-face-text-property (point) (1+ (point))
|
||||||
|
(list :height newheight))
|
||||||
|
(put-text-property (point) (1+ (point))
|
||||||
|
'rear-nonsticky t))))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun emoji-zoom-decrease ()
|
(defun emoji-zoom-decrease ()
|
||||||
|
|
Loading…
Add table
Reference in a new issue