From: david@adboyd.com (J. David Boyd)
Subject: Re: Keyboard macro with Isearch
Date: Wed, 10 Aug 2005 09:55:18 -0400 [thread overview]
Message-ID: <m37jetx5fd.fsf@freewill.adboyd.com> (raw)
In-Reply-To: E1E2gWE-0005tZ-00@webteam-dvd
"Aaron S. Hawley" <ashawley@uvm.edu> writes:
> 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
I've got this in my .emacs. It does a research regexp Isearch to look for a
'{' as the only character on a line. I also have a corresponding one using
regexp Isearch to move forward looking for a '}' on a line. (I use these in C
programming).
These don't stick after call Isearch. Maybe this would be a step in the right
direction for you.
(fset 'start-of-function [?\C-u ?\C-R ?^ ?{ ?$ ?\C-m])
(global-set-key (kbd "C-{") 'start-of-function)
Dave in Largo, FL
next prev parent reply other threads:[~2005-08-10 13:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-10 2:40 Keyboard macro with Isearch Aaron S. Hawley
2005-08-10 13:55 ` J. David Boyd [this message]
2005-08-11 17:44 ` Kevin Rodgers
2005-08-11 19:32 ` J. David Boyd
[not found] <Pine.A41.4.58.0508221345420.39610@elk.uvm.edu>
2005-08-22 17:55 ` Aaron S. Hawley
2005-10-29 15:45 ` Aaron S. Hawley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m37jetx5fd.fsf@freewill.adboyd.com \
--to=david@adboyd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.