|
From: | Juri Linkov |
Subject: | Re: [EXPERIMENTAL PATCH] Extending Isearch-repeat-forward/backward to support a prefix argument following suggesion by Juri Linkov |
Date: | Fri, 27 Jan 2012 14:07:22 +0200 |
User-agent: | Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (x86_64-pc-linux-gnu) |
> Thank you for your comments Juri. Do you have a thought on how to > implement this functionality as a package the way Stefan asked for? Adding a new count argument to `isearch-repeat-forward' is a pretty unobtrusive change and is standard Emacs practice. But if you want to do fancy stuff with hint display then you could add a hook to `isearch-lazy-highlight-update' and implement fancy features in a separate package whose functionality is added by the hook. > Negative arguments in particular seem to be challenging. Right now I > implemented negative argument navigation by calling isearch-repeat with the > opposite functionality but that has all kinds of odd effects. > For example the search message changes, C-- C-1 isearch-forward does > not go back one matched string but rather just switches to > isearch-backward and so on. Then you need to take into account this situation and to add 1 to the counter when isearch-forward switches to isearch-backward with C-- C-1. > I did implement visual hints for the negative arguments because that > would require changing the way lazy highlight works significantly > (lazy-highlight loop wraps around back to the first line and at that > point you can't know the negative argument for the current match). There are other problems with negative arguments: sometimes backward regexp search finds more matches than forward regexp search. For instance, trying to search a regexp like "a+" forward on a string like "aaa" finds all occurrences of "aaa" as one match, but backward regexp search matches every "a" individually.
[Prev in Thread] | Current Thread | [Next in Thread] |