[Top][All Lists]

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

Re: Keyboard macro with Isearch

From: Aaron S. Hawley
Subject: Re: Keyboard macro with Isearch
Date: Mon, 22 Aug 2005 13:55:59 -0400 (EDT)

After the confusion from my original post, I am still looking for a
solution to the "keyboard macros with Isearch" problem.

Kevin Boyd's response though not helpful for my problem does show exactly
what the problem is with Isearch.  If one wanted an Emacs macro using
Isearch to terminate a search, then one could explicityly add `RET' (or
for Kevin `C-m')  to terminate the search.  But even without `RET', a
macro using search terminates the search when the macro ends, rather than
keeping the search interactive.

I wrote on 9 August 2005:

> 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]