]> git.eshelyaron.com Git - emacs.git/commitdiff
(insert-kbd-macro): Handle C-@, C-[, etc. properly and their meta variants too.
authorRichard M. Stallman <rms@gnu.org>
Wed, 2 Mar 1994 00:53:48 +0000 (00:53 +0000)
committerRichard M. Stallman <rms@gnu.org>
Wed, 2 Mar 1994 00:53:48 +0000 (00:53 +0000)
lisp/macros.el

index cbb612494b0bd87b7bfbba1f38061c6aee626410..7662c1e8988183179a770993a335d9730c7fae8b 100644 (file)
@@ -76,23 +76,35 @@ use this command, and then save the file."
       (goto-char beg)
       (while (< (point) end)
        (let ((char (following-char)))
-         (cond ((< char 32)
+         (cond ((= char 0)
+                (delete-region (point) (1+ (point)))
+                (insert "\\C-@"))
+               ((< char 27)
                 (delete-region (point) (1+ (point)))
                 (insert "\\C-" (+ 96 char)))
+               ((< char 32)
+                (delete-region (point) (1+ (point)))
+                (insert "\\C-" (+ 64 char)))
                ((< char 127)
                 (forward-char 1))
                ((= char 127)
                 (delete-region (point) (1+ (point)))
                 (insert "\\C-?"))
+               ((= char 128)
+                (delete-region (point) (1+ (point)))
+                (insert "\\M-\\C-@"))
+               ((< char 155)
+                (delete-region (point) (1+ (point)))
+                (insert "\\M-\\C-" (- char 32)))
                ((< char 160)
                 (delete-region (point) (1+ (point)))
-                (insert "\\M-C-" (- char 32)))
+                (insert "\\M-\\C-" (- char 64)))
                ((< char 255)
                 (delete-region (point) (1+ (point)))
                 (insert "\\M-" (- char 128)))
                ((= char 255)
                 (delete-region (point) (1+ (point)))
-                (insert "\\M-C-?"))))))
+                (insert "\\M-\\C-?"))))))
     (insert ")\n")
     (if keys
        (let ((keys (where-is-internal macroname '(keymap))))