help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Keyboard macro with Isearch


From: Aaron S. Hawley
Subject: Keyboard macro with Isearch
Date: Tue, 09 Aug 2005 22:40:38 -0400

Isearch doesn't play nice with keyboard macros.

One of the simplest macros that could use Isearch would to be a simple
call of isearch-forward using C-s.  The macro could be created with:

  C-x ( C-s C-x ) C-x C-k b C-.

or evaluating:

  (global-set-key [?\C-.] "\C-s")

Unfortunately, calling such a macro causes Isearch to halt taking
input rather than stay "interactive" and take input from the user for
the search string and continue highlighting any matches.

The above is admittedly not a useful example, but I'm interested how
to store specific interactive searches with Isearch as macros, like
`C-s C-w' or anything more complicated, and then bounding them to
shorter key sequences like `C-.' or <f5>.  Using the `C-s C-w'
example:

  C-x ( C-s C-w C-x ) C-x C-k b C-.

or evaluating:

  (global-set-key [?\C-.] "\C-s\C-w")

The search works by going to the end of the current word, but halts
and gives the message, "Mark saved where search started".

It's not clear to me how create customizations for calling Isearch,
unless you use not only Emacs Lisp but make hacks useing Isearch's
internals.

This code in the function isearch-done in file isearch.el looks like
at least one suspect for bias against macros:

              (or executing-kbd-macro (> (minibuffer-depth) 0)
                  (message "Mark saved where search started"))))))

/a




reply via email to

[Prev in Thread] Current Thread [Next in Thread]