unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z)
@ 2023-08-01 16:11 Fadi Moukayed
  2023-08-01 18:08 ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Fadi Moukayed @ 2023-08-01 16:11 UTC (permalink / raw)
  To: 64998

Hi all,

While playing with some of the new Emoji commands in Emacs 29.1, I
realized that some of them (esp. those involving interactive prompts)
are not repeatable via C-x z.

Steps to reproduce

1. Start Emacs using `emacs -Q'
2. Type C-x 8 e s and enter:

  up arrow

3. Observe that an "up arrow" emoji was inserted at point
4. Type C-x z

Expected behavior:

The last command is repeated, resulting in an additional "up arrow"
emoji being inserted at point.

Observed behavior:

No "up arrow" emoji is inserted.

The following messages are written on the *Messages* buffer:

Repeating command minibuffer-complete-and-exit
No match

---

In GNU Emacs 29.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20,
 cairo version 1.16.0) of 2023-08-01 built on lcy02-amd64-041
Repository revision: 6f8b65544c43e04bfc91d6a97eb41f68835d6370
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: Ubuntu 20.04.6 LTS

Configured using:
 'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3
 --without-xaw3d --with-modules --with-cairo --with-native-compilation
 --with-xinput2 --with-tree-sitter --with-json
 'CFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include
 -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu
 -isystem/build/emacs/stage/usr/include -O2'
 'CPPFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include
 -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu
 -isystem/build/emacs/stage/usr/include'
 'LDFLAGS=-L/build/emacs/parts/emacs/install/lib
 -L/build/emacs/parts/emacs/install/usr/lib
 -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu
 -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu
 -L/build/emacs/stage/usr/lib''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM
GTK3 ZLIB

Important settings:
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: ERC

Minor modes in effect:
  erc-notifications-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-ring-mode: t
  erc-netsplit-mode: t
  erc-menu-mode: t
  erc-match-mode: t
  erc-list-mode: t
  erc-pcomplete-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-autojoin-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-keep-place-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  erc-networks-mode: t
  delete-selection-mode: t
  recentf-mode: t
  global-whitespace-mode: t
  global-goto-address-mode: t
  goto-address-mode: t
  fido-vertical-mode: t
  icomplete-vertical-mode: t
  icomplete-mode: t
  fido-mode: t
  desktop-save-mode: t
  cua-mode: t
  windmove-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort emacsbug misearch multi-isearch mail-extr shortdoc help-fns
radix-tree repeat emoji-labels emoji multisession sqlite transient
edmacro kmacro erc-status-sidebar network-stream nsm
erc-desktop-notifications notifications erc-track erc-ring erc-netsplit
erc-menu erc-match erc-list erc-pcomplete erc-button erc-fill erc-stamp
erc-join erc-goodies erc pp erc-backend erc-networks erc-common
erc-compat erc-loaddefs display-line-numbers org-element org-persist
org-id org-refile avl-tree generator oc-basic ol-eww eww xdg url-queue
mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu
mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill
kinsoku url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus
xml gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time gnus-spec
gnus-int gnus-range message sendmail yank-media puny rfc822 mml mml-sec
epa derived epg rfc6068 epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus nnheader gnus-util text-property-search
mail-utils range mm-util mail-prsvr ol-docview doc-view filenotify
jka-compr image-mode exif dired dired-loaddefs ol-bibtex bibtex iso8601
ol-bbdb ol-w3m ol-doi org-link-doi org ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-macro org-src ob-comint org-pcomplete pcomplete
comint ansi-osc ansi-color ring org-list org-footnote org-faces
org-entities time-date noutline outline ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
find-func cal-menu calendar cal-loaddefs org-version org-compat org-macs
format-spec disp-table leuven-dark-theme delsel recentf tree-widget
wid-edit whitespace goto-addr thingatpt icomplete desktop frameset
cua-base cus-load finder-inf package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source eieio eieio-core password-cache json map byte-opt url-vars
windmove site-start comp comp-cstr warnings icons subr-x rx cl-seq
cl-macs gv cl-extra help-mode cl-loaddefs cl-lib bytecomp byte-compile
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 896769 75559)
 (symbols 48 48547 2)
 (strings 32 254351 9676)
 (string-bytes 1 6281684)
 (vectors 16 79728)
 (vector-slots 8 1881101 282511)
 (floats 8 478 901)
 (intervals 56 34260 3208)
 (buffers 984 22))





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z)
  2023-08-01 16:11 bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z) Fadi Moukayed
@ 2023-08-01 18:08 ` Eli Zaretskii
  2023-08-12  6:44   ` Eli Zaretskii
  2023-09-03 16:17   ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 2 replies; 9+ messages in thread
From: Eli Zaretskii @ 2023-08-01 18:08 UTC (permalink / raw)
  To: Fadi Moukayed, Jonas Bernoulli; +Cc: 64998

> From: Fadi Moukayed <smfadi@gmail.com>
> Date: Tue, 1 Aug 2023 18:11:56 +0200
> 
> While playing with some of the new Emoji commands in Emacs 29.1, I
> realized that some of them (esp. those involving interactive prompts)
> are not repeatable via C-x z.
> 
> Steps to reproduce
> 
> 1. Start Emacs using `emacs -Q'
> 2. Type C-x 8 e s and enter:
> 
>   up arrow
> 
> 3. Observe that an "up arrow" emoji was inserted at point
> 4. Type C-x z
> 
> Expected behavior:
> 
> The last command is repeated, resulting in an additional "up arrow"
> emoji being inserted at point.
> 
> Observed behavior:
> 
> No "up arrow" emoji is inserted.
> 
> The following messages are written on the *Messages* buffer:
> 
> Repeating command minibuffer-complete-and-exit
> No match

That command is implemented on top of transient.el, and I'm not sure
transient supports "C-x z" repetition.  Jonas, can you comment on
this, please?





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z)
  2023-08-01 18:08 ` Eli Zaretskii
@ 2023-08-12  6:44   ` Eli Zaretskii
  2023-08-12 21:44     ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-09-03 16:17   ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2023-08-12  6:44 UTC (permalink / raw)
  To: jonas; +Cc: smfadi, 64998

Ping!

> Cc: 64998@debbugs.gnu.org
> Date: Tue, 01 Aug 2023 21:08:13 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> 
> > From: Fadi Moukayed <smfadi@gmail.com>
> > Date: Tue, 1 Aug 2023 18:11:56 +0200
> > 
> > While playing with some of the new Emoji commands in Emacs 29.1, I
> > realized that some of them (esp. those involving interactive prompts)
> > are not repeatable via C-x z.
> > 
> > Steps to reproduce
> > 
> > 1. Start Emacs using `emacs -Q'
> > 2. Type C-x 8 e s and enter:
> > 
> >   up arrow
> > 
> > 3. Observe that an "up arrow" emoji was inserted at point
> > 4. Type C-x z
> > 
> > Expected behavior:
> > 
> > The last command is repeated, resulting in an additional "up arrow"
> > emoji being inserted at point.
> > 
> > Observed behavior:
> > 
> > No "up arrow" emoji is inserted.
> > 
> > The following messages are written on the *Messages* buffer:
> > 
> > Repeating command minibuffer-complete-and-exit
> > No match
> 
> That command is implemented on top of transient.el, and I'm not sure
> transient supports "C-x z" repetition.  Jonas, can you comment on
> this, please?
> 
> 
> 
> 





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z)
  2023-08-12  6:44   ` Eli Zaretskii
@ 2023-08-12 21:44     ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-09-02 18:42       ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-08-12 21:44 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: smfadi, 64998

> Ping!

I'll try to have a look soon.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z)
  2023-08-12 21:44     ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-09-02 18:42       ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2023-09-02 18:42 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: smfadi, 64998

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: smfadi@gmail.com, 64998@debbugs.gnu.org
> Date: Sat, 12 Aug 2023 23:44:11 +0200
> 
> > Ping!
> 
> I'll try to have a look soon.

Any progress with this?

TIA





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z)
  2023-08-01 18:08 ` Eli Zaretskii
  2023-08-12  6:44   ` Eli Zaretskii
@ 2023-09-03 16:17   ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-09-03 16:22     ` Eli Zaretskii
  1 sibling, 1 reply; 9+ messages in thread
From: Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-09-03 16:17 UTC (permalink / raw)
  To: Eli Zaretskii, Fadi Moukayed; +Cc: 64998

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Fadi Moukayed <smfadi@gmail.com>

>> Observed behavior:
>> 
>> No "up arrow" emoji is inserted.
>> 
>> The following messages are written on the *Messages* buffer:
>> 
>> Repeating command minibuffer-complete-and-exit
>> No match
>
> That command is implemented on top of transient.el, and I'm not sure
> transient supports "C-x z" repetition.  Jonas, can you comment on
> this, please?

Support implemented in 502e7c9a9b34c74b1b99f9e2f13a75f03dabba18 (and
a little follow up commit to fix a last minute hiccup).

There is nothing in Transient that would prevent commands from being
repeated using `repeat' or `repeat-complex-command', but of course
commands still have to follow the usual rules for making them
repeatable.

`emoji-search' even for glyphs that have no variants, because it read
from the minibuffer in the function body instead of inside `interactive'.

Same for `emoji-insert-glyph', but that additionally needed a bit of
transient specific work.  Normally such a command would use
`transient-args' to get the arguments from the transient prefix, much
like `current-prefix-args' works, but `emoji-insert-graph' is a bit
different, and we have the previously inserted graph elsewhere, when
the command is repeated (from the multisession-value `emoji--recent').





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z)
  2023-09-03 16:17   ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-09-03 16:22     ` Eli Zaretskii
  2023-09-03 20:57       ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2023-09-03 16:22 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: smfadi, 64998

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: 64998@debbugs.gnu.org
> Date: Sun, 03 Sep 2023 18:17:21 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Fadi Moukayed <smfadi@gmail.com>
> 
> >> Observed behavior:
> >> 
> >> No "up arrow" emoji is inserted.
> >> 
> >> The following messages are written on the *Messages* buffer:
> >> 
> >> Repeating command minibuffer-complete-and-exit
> >> No match
> >
> > That command is implemented on top of transient.el, and I'm not sure
> > transient supports "C-x z" repetition.  Jonas, can you comment on
> > this, please?
> 
> Support implemented in 502e7c9a9b34c74b1b99f9e2f13a75f03dabba18 (and
> a little follow up commit to fix a last minute hiccup).

Thanks!

I see you installed this on master.  I would like to fix this on the
emacs-29 branch instead, since these commands are new in Emacs 29.  Do
you think it's okay to cherry-pick your two commits to emacs-29?  I'm
asking because AFAIR you made some changes in transient.el on master,
and I'm not sure whether the fixes you made today need those changes
to work.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z)
  2023-09-03 16:22     ` Eli Zaretskii
@ 2023-09-03 20:57       ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2023-09-04 11:28         ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-09-03 20:57 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: smfadi, 64998

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Jonas Bernoulli <jonas@bernoul.li>

>> Support implemented in 502e7c9a9b34c74b1b99f9e2f13a75f03dabba18 (and
>> a little follow up commit to fix a last minute hiccup).
>
> Thanks!
>
> I see you installed this on master.  I would like to fix this on the
> emacs-29 branch instead, since these commands are new in Emacs 29.  Do
> you think it's okay to cherry-pick your two commits to emacs-29?

Yes, that should be totally safe, even without the changes since the
Transient version in Emacs 29.1.

> I'm
> asking because AFAIR you made some changes in transient.el on master,
> and I'm not sure whether the fixes you made today need those changes
> to work.

I've installed those on emacs-29 as well.  I hope that is okay.  The
changes are mostly bug fixes, with some non-code changes sprinkled in,
though one of the bugfixes also comes with a breaking change.  (But that
was necessary to fix a bug and only has the potential to affect the most
obscure uses of transient.  I had planned to do that before the Emacs
29.1 release, but then that was suddenly there 🤩 *).

Going forward there will also be non-bugfixes again, I guess I'll have
to stop merging into emacs-29, once I get there?  Keeping two "built-in"
versions in sync with the version in my repository is more work, but it
probably won't be that bad.

By the way, my commit that added two variants of transient--wrap-command
for different Emacs releases was a mistake.  I intend to just keep the
respective appropriate version in the emacs-29 and master branches and
use static-if in my repository.  Once I've done that, I'll have to keep
three slightly different versions in sync anyway.

* In honor of my recent work on emoji.el. 😂😂😂😂😂 **
** Thanks to that it is now easy to repeat the same emoji.
   I wonder whether that is a good thing. 😉





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z)
  2023-09-03 20:57       ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-09-04 11:28         ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2023-09-04 11:28 UTC (permalink / raw)
  To: Jonas Bernoulli; +Cc: smfadi, 64998

> From: Jonas Bernoulli <jonas@bernoul.li>
> Cc: smfadi@gmail.com, 64998@debbugs.gnu.org
> Date: Sun, 03 Sep 2023 22:57:44 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > I see you installed this on master.  I would like to fix this on the
> > emacs-29 branch instead, since these commands are new in Emacs 29.  Do
> > you think it's okay to cherry-pick your two commits to emacs-29?
> 
> Yes, that should be totally safe, even without the changes since the
> Transient version in Emacs 29.1.

Alas, it doesn't apply without conflicts, and changes some code that
doesn't exist on emacs-29 (emoji-insert-glyph etc.).  emoji.el on
master is quite different from the emacs-29 branch, so I'm afraid the
release branch will need a separate change, marked with "Do not merge
to master" in the commit log.  Is that possible/reasonable?

> Going forward there will also be non-bugfixes again, I guess I'll have
> to stop merging into emacs-29, once I get there?

Probably.

Thanks.





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-09-04 11:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-01 16:11 bug#64998: 29.1; `emoji-search' (C-x 8 e s) command can not be repeated using `repeat' (C-x z) Fadi Moukayed
2023-08-01 18:08 ` Eli Zaretskii
2023-08-12  6:44   ` Eli Zaretskii
2023-08-12 21:44     ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-02 18:42       ` Eli Zaretskii
2023-09-03 16:17   ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-03 16:22     ` Eli Zaretskii
2023-09-03 20:57       ` Jonas Bernoulli via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-04 11:28         ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).