# HG changeset patch # User Richard M. Stallman # Date 762569628 0 # Node ID 54625de47273712ef036f00f8110a3979407c7cb # Parent 56546a41a683468a01de5e3cd468b8dbef77dfbd (insert-kbd-macro): Handle C-@, C-[, etc. properly and their meta variants too. diff -r 56546a41a683 -r 54625de47273 lisp/macros.el --- a/lisp/macros.el Tue Mar 01 22:42:53 1994 +0000 +++ b/lisp/macros.el Wed Mar 02 00:53:48 1994 +0000 @@ -76,23 +76,35 @@ (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))))