[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 472ebd8: Avoid crashes for invalid value of key mod
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master 472ebd8: Avoid crashes for invalid value of key modifiers |
Date: |
Mon, 29 Aug 2016 14:28:49 +0000 (UTC) |
branch: master
commit 472ebd86277d26e6a7194e0e66fc171439fd8f44
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Avoid crashes for invalid value of key modifiers
* src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
is not a symbol, don't try to recognize it. See
http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00502.html
for the details.
* test/src/keymap-tests.el (keymap-where-is-internal-test): New
test, for testing the above fix.
---
src/keyboard.c | 7 ++++++-
test/src/keymap-tests.el | 7 +++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/src/keyboard.c b/src/keyboard.c
index f27ca0f..e441552 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -6621,7 +6621,12 @@ has the same base event type and all the specified
modifiers. */)
int
parse_solitary_modifier (Lisp_Object symbol)
{
- Lisp_Object name = SYMBOL_NAME (symbol);
+ Lisp_Object name;
+
+ if (!SYMBOLP (symbol))
+ return 0;
+
+ name = SYMBOL_NAME (symbol);
switch (SREF (name, 0))
{
diff --git a/test/src/keymap-tests.el b/test/src/keymap-tests.el
index b835fc7..26d3485 100644
--- a/test/src/keymap-tests.el
+++ b/test/src/keymap-tests.el
@@ -38,6 +38,13 @@ commit 86c19714b097aa477d339ed99ffb5136c755a046."
(should (eq (lookup-key Buffer-menu-mode-map [32]) 'undefined)))
(define-key Buffer-menu-mode-map [32] def))))
+(ert-deftest keymap-where-is-internal-test ()
+ "Make sure we don't crash when `where-is-preferred-modifier' is not a
symbol."
+ (should
+ (equal (let ((where-is-preferred-modifier "alt"))
+ (where-is-internal 'execute-extended-command global-map t))
+ [#x8000078])))
+
(provide 'keymap-tests)
;;; keymap-tests.el ends here
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 472ebd8: Avoid crashes for invalid value of key modifiers,
Eli Zaretskii <=