]> git.eshelyaron.com Git - emacs.git/commitdiff
Add emoji-zoom-reset
authorRobert Pluim <rpluim@gmail.com>
Wed, 5 Apr 2023 15:24:38 +0000 (17:24 +0200)
committerRobert Pluim <rpluim@gmail.com>
Thu, 6 Apr 2023 11:36:11 +0000 (13:36 +0200)
* lisp/international/emoji.el (emoji-zoom-map): Add emoji-zoom-reset.
(emoji-zoom-reset): New function, it resets the zoom level.
* lisp/international/mule-cmds.el (ctl-x-map): Add emoji-zoom-reset.
* etc/NEWS: Announce new command.

etc/NEWS
lisp/international/emoji.el
lisp/international/mule-cmds.el

index 9adeb47db8c0294425b80fab91e1d01172aa43c2..dc4eb64a63aafd1de63868b632779d78596c4ae9 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1021,6 +1021,11 @@ works for non-Emoji characters.)
 These are bound to 'C-x 8 e +' and 'C-x 8 e -', respectively.  They
 can be used on any character, but are mainly useful for Emoji.
 
+---
+*** New command 'emoji-zoom-reset'.
+This is bound to 'C-x 8 e 0', and undoes any size changes performed by
+'emoji-zoom-increase' and 'emoji-zoom-decrease'.
+
 ---
 *** New input method 'emoji'.
 This allows you to enter Emoji using short strings, eg ':face_palm:'
index ffff2aa1236be65ea85ff2b4f92bb5bddd9d0522..04854ede6be377129a6109ef5ad501074fc310bd 100644 (file)
@@ -700,7 +700,8 @@ We prefer the earliest unique letter."
 
 (defvar-keymap emoji-zoom-map
   "+" #'emoji-zoom-increase
-  "-" #'emoji-zoom-decrease)
+  "-" #'emoji-zoom-decrease
+  "0" #'emoji-zoom-reset)
 
 ;;;###autoload
 (defun emoji-zoom-increase (&optional factor)
@@ -741,6 +742,19 @@ FACTOR is the multiplication factor for the size."
   (interactive)
   (emoji-zoom-increase 0.9))
 
+;;;###autoload
+(defun emoji-zoom-reset ()
+  "Reset the size of the character under point."
+  (interactive)
+  (with-silent-modifications
+    (let ((old (get-text-property (point) 'face)))
+      (when (and (consp old)
+                 (remove-text-properties (point) (1+ (point)) '(rear-nonsticky nil)))
+        (if (eq (car old) :height)
+            (remove-text-properties (point) (1+ (point)) '(face nil))
+          (add-text-properties (point) (1+ (point)) (list 'face
+                                                      (cdr old))))))))
+
 (provide 'emoji)
 
 ;;; emoji.el ends here
index 4e38b13b1a58b44d89e31e8ba520ec09c9794cc4..3d6d66970d389fd75e6faa07ecb3571b599f90b8 100644 (file)
@@ -3269,7 +3269,8 @@ single characters to be treated as standing for themselves."
               "r" #'emoji-recent
               "l" #'emoji-list
               "+" #'emoji-zoom-increase
-              "-" #'emoji-zoom-decrease))
+              "-" #'emoji-zoom-decrease
+              "0" #'emoji-zoom-reset))
 
 (defface confusingly-reordered
   '((((supports :underline (:style wave)))