all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: <emacs-devel@gnu.org>
Subject: RE: propose adding Icicles to Emacs
Date: Mon, 11 Jun 2007 00:24:03 -0700	[thread overview]
Message-ID: <EIENLHALHGIMHGDOLMIMOEFCDCAA.drew.adams@oracle.com> (raw)
In-Reply-To: <buotztf5ewr.fsf@dhapc248.dev.necel.com>

> > Icicles has many different features, including the following
> > (in addition to what was mentioned above about Info `i'):
>
> What exactly _is_ icicles, in one sentence?
> It's kind of hard to tell exactly from your post,

It should not be hard to tell. I listed the main features explicitly, point
by point - just after the sentence you quoted. Which ones do you have
trouble understanding?

> but my guess from reading your message: "It extends
> emacs completion in various handy ways".

If you have to boil it down to one sentence, that's as good as any.

The various completion enhancements are largely independent, but they work
well together. For instance, I wouldn't want candidate cycling without also
having regexp or substring matching, to narrow the match set before cycling.
It is the combination that makes it feasible to work with large candidate
sets and still cycle among those that are of interest.

But certainly those two features are relatively independent logically. You
could offer them separately - but I will not.

What would you say to someone who asks, "What exactly is incremental search,
anyway?" You could say "it lets you search incrementally", but that doesn't
help. I would list a few isearch features to describe it, wouldn't you? That
list might include: (1) typing changes are reflected, on the fly, in an
updated search hit list, and the cursor is moved to the new first hit, (2)
all hits are highlighted (lazily), (3) search wraps around, (4) C-g abandons
match failure, and so on. The various isearch features are relatively
independent, but they work well together, and I wouldn't want isearch
without all of them.

Boiling everything down to one sentence is a bit like saying that Emacs is
an extensible, customizable text editor, or that it extends editing and
programming "in various handy ways". Such descriptions don't help much, I'm
afraid.

To get an idea about Icicles, you need to either read something about it or
give it a try. I claim it has a lot to offer and merits a sincere
examination, not just a superficial dismissal. Disagree, if you like, but
after informing yourself a bit, please.

There is plenty of doc describing what Icicles is and what features it
offers, at http://www.emacswiki.org/cgi-bin/wiki/Icicles. I provided a
summary in my proposal message, and the doc starts out with a quick tour
that highlights the main features with examples of use:
http://www.emacswiki.org/cgi-bin/wiki/Icicles_-_Nutshell_View.

> However, it also sounds like there are a bunch of other
> unrelated features,

Unrelated in the sense of logical independence, yes. Unrelated in the sense
of not fitting together or supporting each other, no. Just like the isearch
features.

About the only hard dependencies among the Icicles features are these:

1. Progressive completion (matching with multiple patterns, to narrow
candidates down progressively) depends logically on something like regexp or
substring matching, because there is little sense in using multiple prefix
patterns.

2. The multi-command feature depends on being able to cycle among
candidates. This is not a hard dependency, since one could be limited to
clicking the mouse on individual candidates, but in practice cycling is
central to the use of multi-commands.

3. Icicles search, which is a different approach to incremental search and
replace, uses the multi-command feature. So does on-the-fly help for
individual completion candidates.

> e.g., "Multi-commands" (what does this have to do with
> completion?).  [If these really are unrelated to main purpose,
> why are they part of the same package?]

Call it "multi-completion" if you like (but that term has been used to mean
different things). It is 100% a completion feature: acting on multiple
completion candidates during a single invocation of completion (e.g.
`completing-read').

It _is_ completion; it simply promotes the act of choosing and acting on a
candidate, which until now could occur only at the end of completion, to the
matching and completion phase itself, letting you act on a candidate while
there are still other matching candidates and while you are still able to
change your input and define a different candidate set.

>From the moment that you treat completion as a process of defining a set of
matches followed by an act of picking a match, and you add the possibility
of cycling among or otherwise selecting multiple candidates, the idea of
also acting on those selected candidates springs to mind. Act how? Provide
candidate help. Perform the same action you perform for the final completion
choice. Perform a different action...

Are those all separate features? Are they strictly related logically? I'd
say that they fit well together, and I'd leave it at that. To see that they
fit together, you need either a little imagination and some time spent
reading about them or, better, some time spent trying them out.

Icicles is a big package. I will not convince you of its worth as long as
you don't take a serious look at it and you remain at the "sounds like",
"seems like", "I get the impression", level. The doc presents fairly well
the features and how to use Icicles, and it is trivial to load Icicles and
give it a try. If you honestly want to learn about it and get a feeling for
it, there are no obstacles.

  reply	other threads:[~2007-06-11  7:24 UTC|newest]

Thread overview: 212+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-26  0:19 [drew.adams@oracle.com: RE: cannot find :enable in Elisp manual index] Richard Stallman
2007-05-26  6:05 ` Eli Zaretskii
2007-05-29  4:01   ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Drew Adams
2007-05-29 19:12     ` Eli Zaretskii
2007-05-29 20:05       ` Stephen Berman
2007-05-29 20:58         ` Eli Zaretskii
2007-05-29 21:20           ` Stephen Berman
2007-05-29 21:25         ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-05-29 21:03       ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Drew Adams
2007-05-30  3:20         ` Eli Zaretskii
2007-05-30  4:43           ` Drew Adams
2007-05-30  5:26             ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-05-30 15:17             ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Johan Bockgård
2007-05-30 23:09               ` Eli Zaretskii
2007-05-30  5:23           ` David Kastrup
2007-05-30 23:01             ` Eli Zaretskii
2007-05-30 23:14               ` Eli Zaretskii
2007-06-02  2:54     ` Richard Stallman
2007-06-02  9:18       ` Jason Rumney
2007-06-02 17:29         ` Richard Stallman
2007-06-02 10:12       ` Robert J. Chassell
2007-06-02 17:29         ` Richard Stallman
2007-06-02 23:47           ` Robert J. Chassell
2007-06-03 21:27             ` Richard Stallman
2007-06-02 10:18       ` Alan Mackenzie
2007-06-02 14:36         ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-06-02 17:26         ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Eli Zaretskii
2007-06-02 23:47           ` Alan Mackenzie
2007-06-02 23:48             ` Jason Rumney
2007-06-02 17:29         ` Richard Stallman
2007-06-02 18:10           ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-06-03 21:27             ` Richard Stallman
2007-06-04  5:30               ` [drew.adams@oracle.com: RE: cannot find :enable inElispmanualindex] Drew Adams
2007-06-02 23:01           ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Miles Bader
2007-06-03  0:00           ` Karl Berry
2007-06-03 21:27             ` Richard Stallman
2007-06-03 22:52               ` Juri Linkov
2007-06-03 23:55                 ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-06-04  5:01                   ` Richard Stallman
2007-06-04  5:42                     ` [drew.adams@oracle.com: RE: cannot find :enable inElispmanualindex] Drew Adams
2007-06-04 23:20                       ` Richard Stallman
2007-06-05  0:10                         ` [drew.adams@oracle.com: RE: cannot find :enableinElispmanualindex] Drew Adams
2007-06-06  0:50                   ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Stefan Monnier
2007-06-06  2:12                     ` Drew Adams
2007-06-06 12:26                       ` Stefan Monnier
2007-06-06 13:54                         ` Drew Adams
2007-06-06 15:06                           ` [drew.adams@oracle.com: RE: cannot find :enable inElispmanualindex] Drew Adams
2007-06-06 18:44                             ` Juri Linkov
2007-06-06 20:01                               ` Stefan Monnier
2007-06-06 20:51                                 ` Juri Linkov
2007-06-06 21:18                                   ` Stefan Monnier
2007-06-06 22:01                                     ` Juri Linkov
2007-06-06 22:24                                       ` Stefan Monnier
2007-06-06 22:40                                         ` Karl Berry
2007-06-07 12:37                                           ` Stefan Monnier
2007-06-07 22:22                                             ` Karl Berry
2007-06-08  1:00                                               ` Stefan Monnier
2007-06-08  2:28                                                 ` Karl Berry
2007-06-08  6:58                                                   ` csant
2007-06-08 15:42                                                     ` Stefan Monnier
2007-06-08  7:12                                                   ` Stefan Monnier
2007-06-08  8:34                                                   ` Juri Linkov
2007-06-06 22:04                                     ` Karl Berry
2007-06-08  7:11                               ` Richard Stallman
2007-06-08  8:32                                 ` Juri Linkov
2007-06-08 15:46                                   ` Stefan Monnier
2007-06-08 15:52                                   ` propose adding Icicles to Emacs Drew Adams
2007-06-10 13:19                                     ` Richard Stallman
2007-06-10 17:16                                       ` Drew Adams
2007-06-10 18:22                                         ` Sean O'Rourke
2007-06-11  0:09                                           ` Drew Adams
2007-06-11  9:44                                         ` Richard Stallman
2007-06-11 18:33                                           ` Drew Adams
2007-06-11 19:17                                             ` Stefan Monnier
2007-06-11 20:53                                               ` Drew Adams
2007-06-11 21:46                                                 ` Stefan Monnier
2007-06-11 23:21                                                   ` Drew Adams
2007-06-13  8:06                                                   ` Richard Stallman
2007-06-14  7:48                                                 ` Richard Stallman
2007-06-14 15:51                                                   ` Drew Adams
2007-06-14 16:07                                                     ` Stefan Monnier
2007-06-15  0:39                                                       ` Drew Adams
2007-06-15 19:22                                                         ` Richard Stallman
2007-06-15 21:04                                                           ` Drew Adams
2007-06-16 18:51                                                             ` Richard Stallman
2007-06-16 18:51                                                             ` Richard Stallman
2007-06-16 18:51                                                         ` Richard Stallman
2007-06-16 20:53                                                           ` Drew Adams
2007-06-17  8:54                                                             ` Richard Stallman
2007-06-17 18:48                                                           ` Juri Linkov
2007-06-17 20:39                                                             ` Drew Adams
2007-06-17 21:18                                                               ` Juri Linkov
2007-06-17 23:07                                                                 ` Drew Adams
2007-06-18 21:17                                                                   ` Juri Linkov
2007-06-18 23:31                                                                     ` Drew Adams
2007-06-19  8:16                                                                       ` Juri Linkov
2007-06-19 14:47                                                                         ` Drew Adams
2007-06-18 14:56                                                               ` Stefan Monnier
2007-06-19 22:26                                                                 ` Richard Stallman
2007-06-20  6:46                                                                   ` Stefan Monnier
2007-06-28  2:41                                                                   ` Stefan Monnier
2007-06-28 15:47                                                                     ` Drew Adams
2007-06-28 19:25                                                                     ` Richard Stallman
2007-06-28 20:03                                                                       ` Stefan Monnier
2007-06-29  5:10                                                                         ` Richard Stallman
2007-06-18 21:31                                                               ` Richard Stallman
2007-06-19  3:52                                                                 ` Stefan Monnier
2007-06-19 22:26                                                                   ` Richard Stallman
2007-06-19 23:11                                                                     ` Drew Adams
2007-06-20  1:19                                                                     ` Stefan Monnier
2007-06-19 22:47                                                                   ` Drew Adams
2007-06-19 23:15                                                                     ` Drew Adams
2007-06-20 14:19                                                                     ` Juri Linkov
2007-06-20 15:13                                                                       ` Drew Adams
2007-06-20 15:13                                                                       ` Stefan Monnier
2007-06-20 15:34                                                                         ` Drew Adams
2007-06-20 15:50                                                                           ` Juri Linkov
2007-06-20 16:02                                                                             ` Juanma Barranquero
2007-06-20 16:38                                                                             ` Drew Adams
2007-06-20 17:28                                                                               ` Drew Adams
2007-06-20 17:51                                                                               ` Juri Linkov
2007-06-21  1:07                                                                         ` Richard Stallman
2007-06-19 22:48                                                                 ` Drew Adams
2007-06-20 17:36                                                                   ` Richard Stallman
2007-06-16 18:51                                                         ` Richard Stallman
2007-06-16 19:58                                                           ` Drew Adams
2007-06-16 18:51                                                         ` Richard Stallman
2007-06-16 22:36                                                           ` Drew Adams
2007-06-17 21:49                                                             ` Richard Stallman
2007-06-16 18:51                                                         ` Richard Stallman
2007-06-16 22:29                                                           ` Drew Adams
2007-06-17 21:48                                                             ` Richard Stallman
2007-06-17 22:18                                                               ` Drew Adams
2007-06-18 16:15                                                                 ` Drew Adams
2007-06-25 13:19                                                                   ` Richard Stallman
2007-06-25 14:57                                                                     ` Drew Adams
2007-06-25 19:52                                                                       ` Richard Stallman
2007-06-25 21:40                                                                         ` Drew Adams
2007-06-26 16:57                                                                           ` Richard Stallman
2007-06-26 17:36                                                                             ` Drew Adams
2007-07-01 20:40                                                                               ` Richard Stallman
2007-07-01 21:54                                                                                 ` Drew Adams
2007-07-02 19:47                                                                                   ` Richard Stallman
2007-07-02 22:19                                                                                     ` Drew Adams
2007-07-03  4:24                                                                                       ` Richard Stallman
2007-07-03  7:56                                                                                         ` Drew Adams
2007-07-04  3:43                                                                                           ` Richard Stallman
2007-07-04  6:13                                                                                             ` Drew Adams
2007-06-25 20:47                                                                     ` Juri Linkov
2007-06-21 18:35                                                                 ` Davis Herring
2007-06-21 18:39                                                                   ` Lennart Borgman (gmail)
2007-06-21 20:42                                                                   ` Drew Adams
2007-06-21 22:27                                                                     ` Davis Herring
2007-06-22  0:20                                                                       ` Drew Adams
2007-06-24 14:40                                                                         ` Richard Stallman
2007-06-15  8:48                                                     ` Richard Stallman
2007-06-15 13:23                                                       ` Drew Adams
2007-06-15 22:45                                                         ` Richard Stallman
2007-06-13 16:21                                               ` Richard Stallman
2007-06-13 16:22                                             ` Richard Stallman
2007-06-13 19:00                                               ` Drew Adams
2007-06-14 16:19                                                 ` Richard Stallman
2007-06-15  1:01                                                   ` Drew Adams
2007-06-15 19:22                                                     ` Richard Stallman
2007-06-15 21:04                                                       ` Drew Adams
2007-06-16 18:50                                                         ` Richard Stallman
2007-06-17 18:46                                                     ` Juri Linkov
2007-06-17 19:35                                                       ` Drew Adams
2007-06-18 21:31                                                         ` Richard Stallman
2007-06-11  9:44                                         ` Richard Stallman
2007-06-11 17:29                                           ` Drew Adams
2007-06-11 18:10                                             ` Stefan Monnier
2007-06-13  8:07                                               ` Richard Stallman
2007-06-13 15:23                                                 ` Drew Adams
2007-06-14  7:49                                                   ` Richard Stallman
2007-06-15  0:41                                                     ` Drew Adams
2007-06-15 19:22                                                       ` Richard Stallman
2007-06-15 21:04                                                         ` Drew Adams
2007-06-16 18:51                                                           ` Richard Stallman
2007-06-16 22:30                                                             ` Drew Adams
2007-06-13  8:07                                             ` Richard Stallman
2007-06-11  3:49                                     ` Miles Bader
2007-06-11  7:24                                       ` Drew Adams [this message]
2007-06-11 16:25                                         ` Richard Stallman
2007-06-11  9:44                                       ` Richard Stallman
2007-06-11 18:41                                         ` Drew Adams
2007-06-12  0:43                                           ` Miles Bader
2007-06-12  8:08                                             ` Kim F. Storm
2007-06-12  9:18                                               ` joakim
2007-06-12 11:04                                                 ` Kim F. Storm
2007-06-12 11:16                                                   ` joakim
2007-06-12 13:30                                                     ` Drew Adams
2007-06-12 14:06                                                     ` keys that work on terminals (was: Re: propose adding Icicles to Emacs) Dan Nicolaescu
2007-06-12 14:45                                                       ` keys that work on terminals joakim
2007-06-12 13:22                                               ` propose adding Icicles to Emacs Drew Adams
2007-06-06 15:43                           ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Stefan Monnier
2007-06-04  5:01                 ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Richard Stallman
2007-06-04 23:51                   ` Juri Linkov
2007-06-05  3:55                     ` Miles Bader
2007-06-05 16:29                       ` Juri Linkov
2007-06-05 17:12                         ` [drew.adams@oracle.com: RE: cannot find :enable in Elispmanualindex] Drew Adams
2007-06-05 19:17                       ` [drew.adams@oracle.com: RE: cannot find :enable in Elisp manualindex] Richard Stallman
2007-06-05 22:32                     ` Richard Stallman
2007-06-06  0:32                       ` Karl Berry
2007-06-06 22:10                         ` Richard Stallman
2007-06-06 22:21                           ` Karl Berry
2007-06-02 22:34       ` Juri Linkov
2007-06-02 22:42     ` Juri Linkov
2007-06-03  3:07       ` Eli Zaretskii
2007-06-03  9:34         ` Juri Linkov
2007-06-03 21:23           ` Karl Berry
2007-06-03 21:27           ` Richard Stallman

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=EIENLHALHGIMHGDOLMIMOEFCDCAA.drew.adams@oracle.com \
    --to=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    /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.