GNU bug report logs - #67204
29.1; request: always echo EMOJI name while emoji-list

Previous Next

Package: emacs;

Reported by: awrhygty <at> outlook.com

Date: Wed, 15 Nov 2023 17:29:04 UTC

Severity: normal

Found in version 29.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #17 received at 67204 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Daniel Martín <mardani29 <at> yahoo.es>
Cc: 67204 <at> debbugs.gnu.org, awrhygty <at> outlook.com
Subject: Re: 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 <at> yahoo.es>
> Cc: awrhygty <at> outlook.com,  67204 <at> debbugs.gnu.org
> Date: Mon, 25 Dec 2023 21:52:42 +0100
> 
> Eli Zaretskii <eliz <at> 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.




This bug report was last modified 1 year and 191 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.