emacs-diffs
[Top][All Lists]
Advanced

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

emacs-29 acfcf7f3690: Fix "Paste from Kill Menu" in non X toolkit builds


From: Eli Zaretskii
Subject: emacs-29 acfcf7f3690: Fix "Paste from Kill Menu" in non X toolkit builds
Date: Fri, 4 Aug 2023 02:36:58 -0400 (EDT)

branch: emacs-29
commit acfcf7f3690630344b090b4af6afa4d02d0147a3
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Fix "Paste from Kill Menu" in non X toolkit builds
    
    * src/keymap.c (possibly_translate_key_sequence): Don't signal an
    error if 'key-valid-p' returns nil.  Suggested by Stefan Monnier
    <monnier@iro.umontreal.ca>. (Bug#64927)
---
 src/keymap.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/keymap.c b/src/keymap.c
index 7f5777c9251..41ca43d6a95 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -1065,8 +1065,12 @@ possibly_translate_key_sequence (Lisp_Object key, 
ptrdiff_t *length)
        xsignal2 (Qerror,
                  build_string ("`key-valid-p' is not defined, so this syntax 
can't be used: %s"),
                  key);
+      /* If key-valid-p is unhappy about KEY, we return it as-is.
+         This happens when menu items define as bindings strings that
+         should be inserted into the buffer, not commands.  See
+         bug#64927, for example.  */
       if (NILP (call1 (Qkey_valid_p, AREF (key, 0))))
-       xsignal2 (Qerror, build_string ("Invalid `key-parse' syntax: %S"), key);
+       return key;
       key = call1 (Qkey_parse, AREF (key, 0));
       *length = CHECK_VECTOR_OR_STRING (key);
       if (*length == 0)



reply via email to

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