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