Skip to content

Instantly share code, notes, and snippets.

@aaroncampos
Created September 15, 2010 18:44
Show Gist options
  • Save aaroncampos/581217 to your computer and use it in GitHub Desktop.
Save aaroncampos/581217 to your computer and use it in GitHub Desktop.
;; Helpful macro function
(defun my-macro-query (arg)
"Prompt for input using minibuffer during kbd macro execution.
With prefix argument, allows you to select what prompt string to use.
If the input is non-empty, it is inserted at point."
(interactive "P")
(let* ((query (lambda () (kbd-macro-query t)))
(prompt (if arg (read-from-minibuffer "PROMPT: ") "Input: "))
(input (unwind-protect
(progn
(add-hook 'minibuffer-setup-hook query)
(read-from-minibuffer prompt))
(remove-hook 'minibuffer-setup-hook query))))
(unless (string= "" input) (insert input))))
(global-set-key "\C-xQ" 'my-macro-query)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment