comparison lisp/macros.el @ 6125:54625de47273

(insert-kbd-macro): Handle C-@, C-[, etc. properly and their meta variants too.
author Richard M. Stallman <rms@gnu.org>
date Wed, 02 Mar 1994 00:53:48 +0000
parents 54baa5a15850
children cc7cd83ccf3f
comparison
equal deleted inserted replaced
6124:56546a41a683 6125:54625de47273
74 (prin1 definition (current-buffer)) 74 (prin1 definition (current-buffer))
75 (setq end (point-marker)) 75 (setq end (point-marker))
76 (goto-char beg) 76 (goto-char beg)
77 (while (< (point) end) 77 (while (< (point) end)
78 (let ((char (following-char))) 78 (let ((char (following-char)))
79 (cond ((< char 32) 79 (cond ((= char 0)
80 (delete-region (point) (1+ (point)))
81 (insert "\\C-@"))
82 ((< char 27)
80 (delete-region (point) (1+ (point))) 83 (delete-region (point) (1+ (point)))
81 (insert "\\C-" (+ 96 char))) 84 (insert "\\C-" (+ 96 char)))
85 ((< char 32)
86 (delete-region (point) (1+ (point)))
87 (insert "\\C-" (+ 64 char)))
82 ((< char 127) 88 ((< char 127)
83 (forward-char 1)) 89 (forward-char 1))
84 ((= char 127) 90 ((= char 127)
85 (delete-region (point) (1+ (point))) 91 (delete-region (point) (1+ (point)))
86 (insert "\\C-?")) 92 (insert "\\C-?"))
93 ((= char 128)
94 (delete-region (point) (1+ (point)))
95 (insert "\\M-\\C-@"))
96 ((< char 155)
97 (delete-region (point) (1+ (point)))
98 (insert "\\M-\\C-" (- char 32)))
87 ((< char 160) 99 ((< char 160)
88 (delete-region (point) (1+ (point))) 100 (delete-region (point) (1+ (point)))
89 (insert "\\M-C-" (- char 32))) 101 (insert "\\M-\\C-" (- char 64)))
90 ((< char 255) 102 ((< char 255)
91 (delete-region (point) (1+ (point))) 103 (delete-region (point) (1+ (point)))
92 (insert "\\M-" (- char 128))) 104 (insert "\\M-" (- char 128)))
93 ((= char 255) 105 ((= char 255)
94 (delete-region (point) (1+ (point))) 106 (delete-region (point) (1+ (point)))
95 (insert "\\M-C-?")))))) 107 (insert "\\M-\\C-?"))))))
96 (insert ")\n") 108 (insert ")\n")
97 (if keys 109 (if keys
98 (let ((keys (where-is-internal macroname '(keymap)))) 110 (let ((keys (where-is-internal macroname '(keymap))))
99 (while keys 111 (while keys
100 (insert "(global-set-key ") 112 (insert "(global-set-key ")