Function: emoji-list-select

emoji-list-select is an interactive and byte-compiled function defined in emoji.el.gz.

Signature

(emoji-list-select EVENT)

Documentation

Select the emoji under point.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/international/emoji.el.gz
(defun emoji-list-select (event)
  "Select the emoji under point."
  (interactive (list last-nonmenu-event) emoji-list-mode)
  (mouse-set-point event)
  (let ((glyph (get-text-property (point) 'emoji-glyph)))
    (unless glyph
      (error "No emoji under point"))
    (let ((derived (gethash glyph emoji--derived))
          (end-func
           (lambda ()
             (let ((buf emoji--insert-buffer))
               (quit-window)
               (if (buffer-live-p buf)
                   (progn
                     (switch-to-buffer buf)
                     (barf-if-buffer-read-only))
                 (error "Buffer disappeared"))))))
      (if (not derived)
          ;; Glyph without derivations.
          (progn
            (emoji--add-recent glyph)
            (funcall end-func)
            (insert glyph))
        ;; Pop up a transient to choose between derivations.
        (let ((emoji--done-derived (make-hash-table :test #'equal)))
          (setf (gethash glyph emoji--done-derived) t)
          (funcall
           (emoji--define-transient (cons "Choose Emoji" (cons glyph derived))
                                    nil end-func)))))))