[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/emoji b5c8924: Make describe-char describe compositions
From: |
Lars Ingebrigtsen |
Subject: |
scratch/emoji b5c8924: Make describe-char describe compositions |
Date: |
Thu, 28 Oct 2021 19:14:48 -0400 (EDT) |
branch: scratch/emoji
commit b5c89247e274912a7b352f369f160c5ba4b00b56
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Make describe-char describe compositions
---
lisp/descr-text.el | 9 ++++++++-
lisp/play/emoji.el | 5 +++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index 9887116..f84a3dd 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -417,6 +417,7 @@ The character information includes:
(display-table (or (window-display-table)
buffer-display-table
standard-display-table))
+ (composition-string nil)
(disp-vector (and display-table (aref display-table char)))
(multibyte-p enable-multibyte-characters)
(overlays (mapcar (lambda (o) (overlay-properties o))
@@ -538,7 +539,8 @@ The character information includes:
(setcar composition nil)))
(setcar (cdr composition)
(format "composed to form \"%s\" (see below)"
- (buffer-substring from to)))))
+ (setq composition-string
+ (buffer-substring from to))))))
(setq composition nil)))
(setq item-list
@@ -682,6 +684,11 @@ The character information includes:
(if display
(format "terminal code %s" display)
"not encodable for terminal"))))))
+ ,@(when-let ((composition-name
+ (and composition-string
+ (eq (aref char-script-table char) 'emoji)
+ (emoji-composition-name composition-string))))
+ (list (list "composition name" composition-name)))
,@(let ((face
(if (not (or disp-vector composition))
(cond
diff --git a/lisp/play/emoji.el b/lisp/play/emoji.el
index a204cc2..2209625 100644
--- a/lisp/play/emoji.el
+++ b/lisp/play/emoji.el
@@ -110,6 +110,11 @@ when the command was issued."
(emoji--list-generate nil (cons nil emoji--labels))
(goto-char (point-min))))))
+;;;###autoload
+(defun emoji-composition-name (glyph)
+ (require 'emoji-labels)
+ (gethash glyph emoji--names))
+
(defun emoji--list-generate (name alist)
(let ((width (/ (window-width) 5))
(mname (pop alist)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- scratch/emoji b5c8924: Make describe-char describe compositions,
Lars Ingebrigtsen <=