(insert-kbd-macro): Use prin1-char.
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 21 May 2008 02:32:31 +0000 (02:32 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 21 May 2008 02:32:31 +0000 (02:32 +0000)
lisp/ChangeLog
lisp/macros.el

index 562877e..ea8bc72 100644 (file)
@@ -1,3 +1,7 @@
+2008-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * macros.el (insert-kbd-macro): Use prin1-char.
+
 2008-05-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * minibuffer.el (completion-boundaries): New function.
index 4f0194e..f8d0b5a 100644 (file)
@@ -131,41 +131,9 @@ use this command, and then save the file."
              (insert (if (zerop i) ?\[ ?\s))
              (setq char (aref definition i)
                    i (1+ i))
-             (cond ((not (numberp char))
-                    (prin1 char (current-buffer)))
-                   (t
-                    (insert "?")
-                    (setq mods (event-modifiers char)
-                          char (event-basic-type char))
-                    (while mods
-                      (cond ((eq (car mods) 'control)
-                             (insert "\\C-"))
-                            ((eq (car mods) 'meta)
-                             (insert "\\M-"))
-                            ((eq (car mods) 'hyper)
-                             (insert "\\H-"))
-                            ((eq (car mods) 'super)
-                             (insert "\\s-"))
-                            ((eq (car mods) 'alt)
-                             (insert "\\A-"))
-                            ((and (eq (car mods) 'shift)
-                                  (>= char ?a)
-                                  (<= char ?z))
-                             (setq char (upcase char)))
-                            ((eq (car mods) 'shift)
-                             (insert "\\S-")))
-                      (setq mods (cdr mods)))
-                    (cond ((= char ?\\)
-                           (insert "\\\\"))
-                           ((= char ?\")
-                            (insert "\\\""))
-                          ((= char ?\;)
-                           (insert "\\;"))
-                          ((= char 127)
-                           (insert "\\C-?"))
-                          ((< char 127)
-                           (insert char))
-                          (t (insert "\\" (format "%o" char)))))))
+             (if (not (numberp char))
+                  (prin1 char (current-buffer))
+                (princ (prin1-char char) (current-buffer))))
            (insert ?\]))
        (prin1 definition (current-buffer))))
     (insert ")\n")