From: Juri Linkov Date: Mon, 30 Jan 2023 17:39:33 +0000 (+0200) Subject: * lisp/isearch.el (isearch-emoji-by-name): Disable derived emoji (bug#60740). X-Git-Tag: emacs-29.0.90~555 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2f3683cd4dc1e2358ae5f8c11f30a773f4540df7;p=emacs.git * lisp/isearch.el (isearch-emoji-by-name): Disable derived emoji (bug#60740). Let-bind emoji--derived to nil to avoid the subsequent selection of derived emoji that fails in transient.el. --- diff --git a/lisp/isearch.el b/lisp/isearch.el index bb46c89ae20..22e27764127 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -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)))))