GNU bug report logs - #64927
30.0.50; kill-ring with no X

Previous Next

Package: emacs;

Reported by: Colin Baxter <m43cap <at> yandex.com>

Date: Sat, 29 Jul 2023 09:48:02 UTC

Severity: normal

Found in version 30.0.50

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

Bug is archived. No further changes may be made.

Full log


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

From: Eli Zaretskii <eliz <at> gnu.org>
To: m43cap <at> yandex.com, Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 64927 <at> debbugs.gnu.org, Lars Ingebrigtsen <larsi <at> gnus.org>
Subject: Re: bug#64927: 30.0.50; kill-ring with no X
Date: Thu, 03 Aug 2023 12:51:23 +0300
> From: Colin Baxter <m43cap <at> yandex.com>
> Date: Sat, 29 Jul 2023 12:25:16 +0100
> 
> >>>>> Colin Baxter <m43cap <at> yandex.com> writes:
> 
>     > 1. Emacs-30.0.50 compiled --with-x-toolkit=no
>     > 2. emacs -Q <RET>
>     > 3. C-x C-f test.txt <RET>
>     > 4. Enter some text, e.g. "This is a test."
>     > 5. Enter some more text, e.g. "This is another test."
>     > 6. Place the cursor somewhere and press <F10>
>     > 7. Select Edit --> Paste from kill menu --> This is test.
>     > 8. popup-menu: Invalid
>     > `key-parse' syntax: %S: ["This is a test"]
> 
> Forget to mention that the text 4, 5 has of course to be copied to the
> kill-ring using C-<space> M-w. Sorry about that!

I can reproduce the same problem on a TTY frame by activating the menu
with F10, but not if the menu is activated with a mouse (on a
text-mode terminal that has a mouse).  Do you see the same problem in
the non-toolkit build if you use the mouse instead of the keyboard?

This also affects Emacs 29, and is a regression from Emacs 28, which
is related to the use of the new key-* functions.  Specifically, the
error is signaled by the call to key-valid-p issued by
possibly_translate_key_sequence, which is a subroutine of lookup-key.
The argument KEY of possibly_translate_key_sequence in this case is a
vector whose only element is a string with text properties:

  [#("create a file" 0 13 (face font-lock-comment-face fontified t))]

key-valid-p doesn't support such strings, it expects strings that
describe key sequences.

Significantly, possibly_translate_key_sequence calls key-parse after
it calls key-valid-p, and key-parse copes with this string quite well.
So I'm thinking of removing the key-valid-p call from
possibly_translate_key_sequence, since I believe key-parse can detect
any problems by itself?  Stefan, WDYT?

Colin, can you try such a change and see if it produces any
regressions?




This bug report was last modified 2 years and 21 days ago.

Previous Next


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