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

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

Re: placing cursor at *start* of match in incremental search


From: Ittay Dror
Subject: Re: placing cursor at *start* of match in incremental search
Date: 26 Jan 2003 11:47:52 +0200

On Sun, 2003-01-26 at 08:28, Ittay Dror wrote:
> On Thu, 2003-01-23 at 15:58, Maciej Kalisiak wrote:
> > On Thu, Jan 23, 2003 at 07:58:46AM +0200, Ittay Dror wrote:
> > > here are my 2c:
> > > (defadvice isearch-search (after put-cursor-at-beginning last act)
> > >   (if isearch-success (goto-char (match-beginning 0))))
> > > 
> > > (defadvice isearch-repeat (before put-cursor-at-end first act)
> > >   (goto-char  (match-end 0)))
> > > 
> > > this will put the cursor at the start of the search *while* searching.
> > > seems less confusing to me.
> > 
> > Very cool!  This is now my favourite. :) Although, is there any way to 
> > prevent
> > the flashing when typing in more letters?  As I add additional characters to
> > the search, after each one all the current matches are erased, and after a
> > small, but quite visible delay, the new ones show up... the default isearch
> > doesn't do that.  Minor point, but I might as well ask since I'm getting 
> > such
> > excellent suggestions. :)
> this is the behavior of isearch even before my hack is applied. it is
> because the highlighting of matches is done in a 'lazy' loop. try
> setting isearch-lazy-highlight-initial-delay to 0 and increasing
> isearch-lazy-highlight-max-at-a-time (you can also customize-group
> isearch-lazy-highlight)

well, after some investigation. the problem is that the lazy highlight
loop deletes the old overlays (from before the last key press) before
creating a new highlight loop. this can be fixed somewhat by saving the
old overlays and deleting them after creating the new one. although,
this will create an instance where the old overlays are still visible.
another slowdown is that the overlays creation is done inside a loop
that searches the buffer. i think that if the mattches will be
accumulated inside the loop and only after it is finished will the
overlays be created it will speedup things.

if/when i have time i'll do it.

ittay
> 
> hope it helps,
> ittay
-- 
===================================
Ittay Dror (ittay@qlusters.com)
User Space Team, R&D
Qlusters Inc.
+972-3-6081976 Fax: +972-3-6081841





reply via email to

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