diff options
author | Noam Postavsky <npostavs@gmail.com> | 2019-08-23 07:55:09 -0400 |
---|---|---|
committer | Noam Postavsky <npostavs@gmail.com> | 2019-08-23 08:38:45 -0400 |
commit | c5e3815f4989ec5ed5e4cd507305e36c95ebb420 (patch) | |
tree | e4db8923a01534033264233ea1e73adc920ed9fe /lisp/macros.el | |
parent | f38901d431ba6dfe5dd9ebbe32f24afa16f129bd (diff) | |
download | emacs-c5e3815f4989ec5ed5e4cd507305e36c95ebb420.tar.gz |
Print macro modified macro keys as characters not integers
* lisp/macros.el (macros--insert-vector-macro): Pass all elements to
'prin1-char', not just those that satisfy characterp (because characters
which have modifier bits set wouldn't qualify otherwise).
'prin1-char' will return nil if it can't handle the argument (e.g.,
for symbols representing function keys).
Diffstat (limited to 'lisp/macros.el')
-rw-r--r-- | lisp/macros.el | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lisp/macros.el b/lisp/macros.el index 4b38506d8a5..3470359c0ca 100644 --- a/lisp/macros.el +++ b/lisp/macros.el @@ -38,13 +38,13 @@ (defun macros--insert-vector-macro (definition) "Print DEFINITION, a vector, into the current buffer." - (dotimes (i (length definition)) - (let ((char (aref definition i))) - (insert (if (zerop i) ?\[ ?\s)) - (if (characterp char) - (princ (prin1-char char) (current-buffer)) - (prin1 char (current-buffer))))) - (insert ?\])) + (insert ?\[ + (mapconcat (lambda (event) + (or (prin1-char event) + (prin1-to-string event))) + definition + " ") + ?\])) ;;;###autoload (defun insert-kbd-macro (macroname &optional keys) |