From: Juri Linkov <juri@jurta.org>
Cc: emacs-devel@gnu.org, monnier@iro.umontreal.ca, miles@gnu.org
Subject: Re: Type Ahead Find
Date: Sun, 20 Mar 2005 22:17:02 +0200 [thread overview]
Message-ID: <87acoy89fa.fsf@jurta.org> (raw)
In-Reply-To: <fc339e4a050319153356b2aee@mail.gmail.com> (Miles Bader's message of "Sun, 20 Mar 2005 08:33:58 +0900")
Miles Bader <snogglethorpe@gmail.com> writes:
> Something like:
>
> Global info I-search: foo
>
> [Maybe "Cross-node" would be better than "Global"?]
>
> or whatever would be even more similar to the existing "Wrapped", get
> the point across well, and address your concern about the prompt size
> bouncing around excessively.
I don't like "[initial node]" too. Your idea of using a prefix
looks better. We could have the following prefixes:
1. In the initial node:
Info I-search: foo
2. Before leaving the initial node:
Failing Info I-search: foo
3. After leaving the initial node:
Cross-node Info I-search: foo
4. When failing for the rest of the manual:
Failing Cross-node Info I-search: foo
5. After wrapping to the top node:
Wrapped Cross-node Info I-search: foo
6. Failing wrapped search:
Failing wrapped Cross-node Info I-search: foo
The prefix "Info " indicates that a special Info search is active
that will wrap to the next node instead of the top of the current node.
This can be implemented by adding a new variable `isearch-type'
holding a search type string and set in the `isearch-search-fun-function'
or the proposed `isearch-success-function'. With both these
functions defined (e.g. to search menu items, references and links
through multiple nodes in Info) the search message will look like this:
Cross-node Links Info regexp I-search: foo
In the function `isearch-message-prefix' the most suitable place for
this variable seems to be after the error prefixes ("failing", "wrapped")
and before generic search type prefixes "regexp", "word", "backward"
(shown by the arrow below):
(if isearch-success "" "failing ")
(if isearch-adjusted "pending " "")
(if (and isearch-wrapped ...) "over")
(if isearch-wrapped "wrapped ")
-> (or isearch-type "")
(if isearch-word "word " "")
(if isearch-regexp "regexp " "")
(if nonincremental "search" "I-search")
(if isearch-forward "" " backward")
(if current-input-method (concat " [" current-input-method-title "]: ")
": ")
--
Juri Linkov
http://www.jurta.org/emacs/
next prev parent reply other threads:[~2005-03-20 20:17 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-18 19:45 Type Ahead Find Juri Linkov
2005-03-18 20:21 ` Drew Adams
2005-03-18 21:53 ` Stefan Monnier
2005-03-19 12:29 ` Juri Linkov
2005-03-19 21:19 ` Miles Bader
2005-03-19 22:09 ` David Kastrup
2005-03-19 23:33 ` Miles Bader
2005-03-20 20:17 ` Juri Linkov [this message]
2005-03-20 21:46 ` David Kastrup
2005-03-20 22:04 ` Miles Bader
2005-03-21 19:28 ` Juri Linkov
2005-03-20 20:14 ` Juri Linkov
2005-03-20 20:22 ` Juri Linkov
2005-03-20 0:22 ` Richard Stallman
2005-03-20 20:19 ` Juri Linkov
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=87acoy89fa.fsf@jurta.org \
--to=juri@jurta.org \
--cc=emacs-devel@gnu.org \
--cc=miles@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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.