From: Drew Adams <drew.adams@oracle.com>
To: dont.spam.earl@gmail.com, help-gnu-emacs@gnu.org
Subject: RE: Looking for universal completion with simple UI
Date: Fri, 17 Oct 2014 09:31:06 -0700 (PDT) [thread overview]
Message-ID: <8550d216-7396-40ac-b690-997bb334a0a4@default> (raw)
In-Reply-To: <7126159c-182e-44cf-97b0-6aec73e55c85@googlegroups.com>
> What I have in mind is much narrower:
> developing a set of customizations to the interface. As with other
> Emacs packages - and as you did with Icicles itself - I may want to
> share those customizations down the line if I think they form a
> coherent whole. That's the connection I was making to Emacs starter
> packages. They offer a variety of ways to get started with Emacs,
> and reflect different people's perspectives on how that can be done.
> So I'm interested in hearing whether you have any concerns about
> this idea from the outset.
First, as I said before, setting `icicle-top-level-key-bindings'
to nil gives you just such a minimal "starter package".
With that, if you use Emacs as if it were vanilla Emacs (i.e.,
you don't try any Icicles keys in the minibuffer) then you get
pretty much vanilla Emacs behavior. Not exactly, but pretty close.
And you can then, if you want, progressively choose to use some
of the Icicles minibuffer keys. That lets you indulge in Icicles
features on demand, at your own speed, and to any limited extent.
Runtime, on-demand, make-your-own-starter-kit. You or anyone else.
For example:
1. Trying `S-TAB' instead of `TAB' lets you try substring or
regexp completion.
2. Trying `S-SPC' after completing lets you try progressive
completion (narrow the candidates using another pattern).
3. Trying `<down> <down>'... followed by `RET' lets you try
cycling among completion candidates to choose one.
Those 3 basic Icicles features are independent of each other.
You can try any of them, with or without the others, at any
time. With combinations of just those 3 features, you get
eight possible Icicles "starter kits" (none, 1, 2, 3, 12, 23,
13, 123).
Second, as to whether you can create your own "customizations
to the interface" and share them with others:
Of course you can, respecting the GNU Public License that the
code is distributed under. That's the whole point of GNU and
the GPL: freely sharing source code in a reasonable and
freedom-respecting manner.
There are by design "a variety of ways to get started with"
Icicles. Setting different combinations of option values
gives you different such ways ("starter kits"). Different
combinations "reflect different people's perspectives on
how" to use (or to get started with) Icicles. If you want
to share your preferred combination with others and call
that the "Earl Icicles Starter Kit", go for it. No problem.
Likewise, if you want to customize or enhance the Icicles
code in some way that appeals to you, and then share your
customization code, go for it (respecting the GPL). You
are also welcome to submit enhancement requests for this
or that feature or change to be made to the Icicles code.
One reason there are so many out-of-the-box ways to
customize Icicles (e.g. options) is that different users
have requested different ways to use it.
The default behavior is, BTW, not the behavior I happen to
use, myself. It is the behavior I think most appropriate
as the general, default behavior. And yes, it has changed
over time.
There is nothing holy about a set of default values. They
always represent a compromise and a judgment call, taking
lots of things into consideration.
Different people have different judgments, for different
contexts and purposes. A different set of default values
gives you a different Icicles "starter kit".
And no, there is nothing wrong with sharing your own
preferred default values, or values that you think might
be helpful as defaults for some particular set of Icicles
users, whether starters or others.
In sum, I am open wrt concrete suggestions about Icicles
default values. Alternatively, you are welcome to publish
your own recommended set of default values. HTH.
next prev parent reply other threads:[~2014-10-17 16:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-05 20:26 Looking for universal completion with simple UI dont.spam.earl
2014-10-06 3:28 ` Drew Adams
[not found] ` <mailman.10545.1412566158.1147.help-gnu-emacs@gnu.org>
2014-10-06 4:40 ` dont.spam.earl
2014-10-06 5:02 ` Eric Abrahamsen
2014-10-06 5:53 ` Drew Adams
[not found] ` <mailman.10546.1412571788.1147.help-gnu-emacs@gnu.org>
2014-10-07 15:38 ` dont.spam.earl
2014-10-07 16:51 ` Eric Abrahamsen
[not found] ` <mailman.10548.1412574805.1147.help-gnu-emacs@gnu.org>
2014-10-07 15:39 ` dont.spam.earl
2014-10-08 16:49 ` Drew Adams
[not found] ` <mailman.10751.1412786977.1147.help-gnu-emacs@gnu.org>
2014-10-17 15:19 ` dont.spam.earl
2014-10-17 16:31 ` Drew Adams [this message]
2014-10-20 21:48 ` Drew Adams
[not found] ` <mailman.11604.1413841750.1147.help-gnu-emacs@gnu.org>
2014-10-30 21:09 ` dont.spam.earl
2014-10-08 5:42 ` Tu, Do
2014-10-17 15:18 ` dont.spam.earl
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=8550d216-7396-40ac-b690-997bb334a0a4@default \
--to=drew.adams@oracle.com \
--cc=dont.spam.earl@gmail.com \
--cc=help-gnu-emacs@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.