[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#67204: 29.1; request: always echo EMOJI name while emoji-list
From: |
Eli Zaretskii |
Subject: |
bug#67204: 29.1; request: always echo EMOJI name while emoji-list |
Date: |
Fri, 29 Dec 2023 09:44:05 +0200 |
> From: Daniel Martín <mardani29@yahoo.es>
> Cc: awrhygty@outlook.com, 67204@debbugs.gnu.org
> Date: Mon, 25 Dec 2023 21:52:42 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >>
> >> This is because Emacs automatically moves the point when it’s in the
> >> middle of text with the ’composition’ property. See (elisp) Adjusting
> >> Point in the Elisp Info manual for more information about this feature.
> >>
> >> It seems that post-command-hook is invoked _before_ the point is moved,
> >> so querying the position of point inside post-command-hook does not
> >> always give correct results. You could add your code to the
> >> pre-redisplay-function instead.
> >
> > Would temporarily disabling point adjustment help here?
>
> Not really. I think point adjustment is really needed in the emoji-list
> buffer; otherwise, sometimes you’d need to press C-f multiple times to
> go from one emoji to the next one, when compositions are involved.
>
> Here’s a complete recipe to understand the issue better:
>
> emacs -Q
>
> Eval the following code:
>
> (add-hook #'post-command-hook
> (lambda ()
> (message "Column: %d" (current-column)))
> nil)
>
> M-x column-number-mode
> M-x emoji-list
> C-s people > activity
> C-n
> C-n
> C-f
>
> The mode-line shows point is at line 115 and column 9, but the echo area
> shows "Column: 8".
>
> However, if you click on the emoji at column 9, then the echo area
> correctly shows "Column: 9".
Yes, I know how point adjustment works. What I meant is to set
global-disable-point-adjustment non-nil in the *Emoji* buffer.
However, now that I tried the original recipe in
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67204#5, I don't think I
see the OP's problem. With that post-command hook, I see the emoji
name shown in the echo-area for all the emoji I tried. I probably
didn't try with those which caused problems to the OP, so I'm asking:
what are those "composed character EMOJI" which DON'T show their name
with that post-command hook? I'd like to reproduce the problem before
I see if we have a ready solution for it.
Btw, each emoji in that buffer has also a help-echo string with the
name, so moving the mouse there is another way of showing the name.
Also, an alternative for post-command-hook is a point-entered text
property.