]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix "Paste from Kill Menu" in non X toolkit builds
authorEli Zaretskii <eliz@gnu.org>
Fri, 4 Aug 2023 06:34:55 +0000 (09:34 +0300)
committerEli Zaretskii <eliz@gnu.org>
Fri, 4 Aug 2023 06:36:45 +0000 (09:36 +0300)
* 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

index 7f5777c92513e4c6dc40f20a15f1071f12f5b380..41ca43d6a95524b09b7ab14165791d28a494e51c 100644 (file)
@@ -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)