1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-22 18:35:09 +00:00

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).
This commit is contained in:
Noam Postavsky 2019-08-23 07:55:09 -04:00
parent f38901d431
commit c5e3815f49

View File

@ -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)