Mercurial > emacs
comparison lisp/emulation/viper-macs.el @ 12695:3d339e94aece
(vip-repeat-from-history-key): new default.
(vip-read-fast-keysequence,ex-unmap-read-args,ex-map-read-args):
changed to use vip-read-key.
author | Michael Kifer <kifer@cs.stonybrook.edu> |
---|---|
date | Thu, 27 Jul 1995 19:41:59 +0000 |
parents | 75379a19c5d5 |
children | 76308c9753ab |
comparison
equal
deleted
inserted
replaced
12694:9dedaee6ee1c | 12695:3d339e94aece |
---|---|
46 (defconst vip-fast-keyseq-timeout 200 | 46 (defconst vip-fast-keyseq-timeout 200 |
47 "*Key sequence separated by no more than this many milliseconds is viewed as a macro, if such a macro is defined. | 47 "*Key sequence separated by no more than this many milliseconds is viewed as a macro, if such a macro is defined. |
48 This also controls ESC-keysequences generated by keyboard function keys.") | 48 This also controls ESC-keysequences generated by keyboard function keys.") |
49 | 49 |
50 | 50 |
51 (defvar vip-repeat-from-history-key 'f1 | 51 (defvar vip-repeat-from-history-key 'f12 |
52 "Prefix key for invocation of vip-repeat-from-history function, | 52 "Prefix key for invocation of vip-repeat-from-history function, |
53 which repeats previous destructive commands from the history of such | 53 which repeats previous destructive commands from the history of such |
54 commands. | 54 commands. |
55 This function can then be invoked as <this-key> 1 or <this-key> 2. | 55 This function can then be invoked as <this-key> 1 or <this-key> 2. |
56 The notation for these keys is borrowed from XEmacs. Basically, | 56 The notation for these keys is borrowed from XEmacs. Basically, |
152 (format ":map%s %s" | 152 (format ":map%s %s" |
153 variant (if (> (length key-seq) 0) | 153 variant (if (> (length key-seq) 0) |
154 (prin1-to-string (vip-display-macro key-seq)) | 154 (prin1-to-string (vip-display-macro key-seq)) |
155 ""))) | 155 ""))) |
156 (message message) | 156 (message message) |
157 (setq event (vip-read-event)) | 157 (setq event (vip-read-key)) |
158 ;;(setq event (vip-read-event)) | |
158 (setq key | 159 (setq key |
159 (if (vip-mouse-event-p event) | 160 (if (vip-mouse-event-p event) |
160 (progn | 161 (progn |
161 (message "%s (No mouse---only keyboard keys, please)" | 162 (message "%s (No mouse---only keyboard keys, please)" |
162 message) | 163 message) |
226 variant (if (> (length key-seq) 0) | 227 variant (if (> (length key-seq) 0) |
227 (prin1-to-string | 228 (prin1-to-string |
228 (vip-display-macro key-seq)) | 229 (vip-display-macro key-seq)) |
229 ""))) | 230 ""))) |
230 (message message) | 231 (message message) |
231 (setq event (vip-read-event)) | 232 (setq event (vip-read-key)) |
233 ;;(setq event (vip-read-event)) | |
232 (setq key | 234 (setq key |
233 (if (vip-mouse-event-p event) | 235 (if (vip-mouse-event-p event) |
234 (progn | 236 (progn |
235 (message "%s (No mouse---only keyboard keys, please)" | 237 (message "%s (No mouse---only keyboard keys, please)" |
236 message) | 238 message) |
246 ;; convert macro names into vector, if starts with a `[' | 248 ;; convert macro names into vector, if starts with a `[' |
247 (if (memq (elt macro-name 0) '(?\[ ?\")) | 249 (if (memq (elt macro-name 0) '(?\[ ?\")) |
248 (car (read-from-string macro-name)) | 250 (car (read-from-string macro-name)) |
249 (vconcat macro-name)) | 251 (vconcat macro-name)) |
250 )) | 252 )) |
251 | |
252 | 253 |
253 | 254 |
254 (defun vip-end-mapping-kbd-macro (&optional ignore) | 255 (defun vip-end-mapping-kbd-macro (&optional ignore) |
255 "Terminate kbd macro." | 256 "Terminate kbd macro." |
256 (interactive) | 257 (interactive) |
846 (defun vip-read-fast-keysequence (event macro-alist) | 847 (defun vip-read-fast-keysequence (event macro-alist) |
847 (let ((lis (vector event)) | 848 (let ((lis (vector event)) |
848 next-event) | 849 next-event) |
849 (while (and (vip-fast-keysequence-p) | 850 (while (and (vip-fast-keysequence-p) |
850 (vip-keyseq-is-a-possible-macro lis macro-alist)) | 851 (vip-keyseq-is-a-possible-macro lis macro-alist)) |
851 (setq next-event (vip-read-event)) | 852 (setq next-event (vip-read-key)) |
853 ;;(setq next-event (vip-read-event)) | |
852 (or (vip-mouse-event-p next-event) | 854 (or (vip-mouse-event-p next-event) |
853 (setq lis (vconcat lis (vector next-event))))) | 855 (setq lis (vconcat lis (vector next-event))))) |
854 lis)) | 856 lis)) |
855 | 857 |
856 | 858 |