Commit af400c00 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(kbd-macro-query): Use query-replace-map to define answers.

parent 4c2c1de1
......@@ -124,25 +124,47 @@ C-l -- redisplay screen and ask again."
(if (not executing-macro)
(let ((loop t))
(let ((loop t)
(msg (substitute-command-keys
"Proceed with macro?\\<query-replace-map>\
(\\[act], \\[skip], \\[exit], \\[recenter], \\[edit]")))
(while loop
(let ((char (let ((executing-macro nil)
(defining-kbd-macro nil))
(message "Proceed with macro? (Space, DEL, C-d, C-r or C-l) ")
(cond ((= char ? )
(let ((key (let ((executing-macro nil)
(defining-kbd-macro nil))
(message msg)
(setq key (vector key))
(setq def (lookup-key query-replace-map key))
(cond ((eq def 'act)
(setq loop nil))
((= char ?\177)
((eq def 'skip)
(setq loop nil)
(setq executing-macro ""))
((= char ?\C-d)
((eq def 'exit)
(setq loop nil)
(setq executing-macro t))
((= char ?\C-l)
((eq def 'recenter)
(recenter nil))
((= char ?\C-r)
((eq def 'edit)
(let (executing-macro defining-kbd-macro)
((eq def 'quit)
(setq quit-flag t))
(or (eq def 'help)
(with-output-to-temp-buffer "*Help*"
"Specify how to procede with keyboard macro execution.
Possibilities: \\<query-replace-map>
\\[act] Finish this iteration normally and continue with the next.
\\[skip] Skip the rest of this iteration, and start the next.
\\[exit] Stop the macro entirely right now.
\\[recenter] Redisplay the screen, then ask again.
\\[edit] Enter recursive edit; ask again when you exit from that."))))
(defun apply-macro-to-region-lines (top bottom &optional macro)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment