bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#65993: 29.1; emoji-insert show nothing without font settings


From: Eli Zaretskii
Subject: bug#65993: 29.1; emoji-insert show nothing without font settings
Date: Sun, 17 Sep 2023 13:42:07 +0300

> From: awrhygty@outlook.com
> Cc: 65993@debbugs.gnu.org
> Date: Sun, 17 Sep 2023 18:37:02 +0900
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> >> And once emoji-insert is called before font setting,
> >> >> emoji-insert does not show emoji items after they are made visible in
> >> >> emacs buffer with font settings.
> >> >
> >> > This is not a bug: you need to clear the font cache to get Emacs to
> >> > react to newly-installed fonts without restarting Emacs.  Like this:
> >> >
> >> >   M-: (clear-font-cache) RET
> >> 
> >> Evaluating (clear-font-cache) have no effect on emoji-insert.
> >> Perhaps menu items are cached in another place.
> >
> > Maybe.  You can also try clear-composition-cache.  If that doesn't
> > help either, just restart the session.  Installing new fonts and
> > reconfiguring fontsets while running Emacs is not fully supported, due
> > to many caches we have for fonts and compositions.
> 
> The definition of emoji-insert is as below:
>   (defun emoji-insert ()
>     "Choose and insert an emoji glyph."
>     (interactive "*")
>     (emoji--init)
>     (unless (fboundp 'emoji--command-Emoji)
>       (emoji--define-transient))
>     (funcall (intern "emoji--command-Emoji")))
> 
> The function emoji--init evaluates (require 'emoji-labels).
> In the file emoji-labels.el, the variable emoji--labels is defined.
> Its value is a hierarchical alist of emoji menu.
> Then, inside the function emoji--init, non-displayable emojis in
> emoji--labels are removed from alist.
> After the function emoji--init, many functions are automatically
> generated. Each of them corresponds to one item of emoji menu,
> from which non-displayable emojis are already removed.
> Finally emoji-insert calls the function of the top menu.
> 
> To change the emoji menu, I need to evaluate:
>   (progn (load emoji-labels) (emoji--init))
> This form resets emoji--labels and redefines menu functions.
> 
> I think the removal of non-displayable emojis is unnecessary.
> If hex numbers are displayed, users can notice there are more emojis
> than displayable. If it is difficult to find displayable emojis among
> many non-displayable emojis, the menu classification is not
> appropriate. Too many emojis in one menu node make user unable to find
> the purpose emoji.

Lars, any comments?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]