Mercurial > emacs
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 ") |