]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/isearch.el (isearch-emoji-by-name): Disable derived emoji (bug#60740).
authorJuri Linkov <juri@linkov.net>
Mon, 30 Jan 2023 17:39:33 +0000 (19:39 +0200)
committerJuri Linkov <juri@linkov.net>
Mon, 30 Jan 2023 17:39:33 +0000 (19:39 +0200)
Let-bind emoji--derived to nil to avoid the subsequent selection
of derived emoji that fails in transient.el.

lisp/isearch.el

index bb46c89ae208e47c87ef76aab8713ef1b3d7e3c5..22e27764127cc4e877b562f3d832fe0a1b4a90af 100644 (file)
@@ -2774,6 +2774,7 @@ With argument, add COUNT copies of the character."
                                           (mapconcat 'isearch-text-char-description
                                                      string ""))))))))
 
+(defvar emoji--derived)
 (defun isearch-emoji-by-name (&optional count)
   "Read an Emoji name and add it to the search string COUNT times.
 COUNT (interactively, the prefix argument) defaults to 1.
@@ -2782,7 +2783,13 @@ The command accepts Unicode names like \"smiling face\" or
   (interactive "p")
   (with-isearch-suspended
    (let ((emoji (with-temp-buffer
-                  (emoji-search)
+                  ;; Derived emoji not supported yet (bug#60740).
+                  ;; So first load `emoji--labels', then `emoji--init'
+                  ;; will not fill `emoji--derived' that is set
+                  ;; to an empty hash table below.
+                  (ignore-errors (require 'emoji-labels))
+                  (let ((emoji--derived (make-hash-table :test #'equal)))
+                    (emoji-search))
                   (if (and (integerp count) (> count 1))
                       (apply 'concat (make-list count (buffer-string)))
                     (buffer-string)))))