all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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

  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.