* shell command completion gone
@ 2011-01-07 6:45 prad
2011-01-07 16:14 ` Drew Adams
0 siblings, 1 reply; 26+ messages in thread
From: prad @ 2011-01-07 6:45 UTC (permalink / raw)
To: help-gnu-emacs
when i do M-!, type a few characters and then press tab it used to
complete. suddenly it doesn't anymore. the only thing i can think of
having done is that i reinstalled icicles from the site (not my arch
distribution), but i don't see what that would have to do with it,
because it doesn't use icicles afaik.
if i go into a shell, everything completes just fine.
what does completion depend upon for the shell command?
--
in friendship,
prad
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: shell command completion gone
2011-01-07 6:45 shell command completion gone prad
@ 2011-01-07 16:14 ` Drew Adams
2011-01-08 4:02 ` prad
[not found] ` <mailman.0.1294459339.1472.help-gnu-emacs@gnu.org>
0 siblings, 2 replies; 26+ messages in thread
From: Drew Adams @ 2011-01-07 16:14 UTC (permalink / raw)
To: 'prad', help-gnu-emacs
> when i do M-!, type a few characters and then press tab it used to
> complete. suddenly it doesn't anymore. the only thing i can think of
> having done is that i reinstalled icicles from the site (not my arch
> distribution), but i don't see what that would have to do with it,
> because it doesn't use icicles afaik.
>
> if i go into a shell, everything completes just fine.
> what does completion depend upon for the shell command?
Yes, it is because by default Icicles provides a different kind of completion
for shell commands. Admittedly, this has confused more than one person.
You can customize option `icicle-redefine-standard-commands-flag' to `nil' to
restore the vanilla Emacs behavior here, if that's what you prefer.
For info about this completion:
http://www.emacswiki.org/emacs/Icicles_-_Shell-Command_Enhancements
There are 3 possible sources of completion candidates here:
1. Programs on your $PATH (if `icicle-guess-commands-in-path' is non-nil), as
proxy candidates. (nil is the default value.)
2. Programs deemed appropriate for the target file types, as proxy candidates.
E.g., in Dired, `gunzip -qc * | tar xvf -' might be a candidate command for
target file `foo.tgz'.
3. Programs anywhere - file names.
To make #1 and #2 available, you must turn on proxy candidates (if off). Use
`C-M-_' during completion to do that (once). (You can customize option
`icicle-add-proxy-candidates-flag' to turn it on by default.)
Wrt #3: Icicles completion here is file-name completion, to let you complete
against command files anywhere, not just those on your $PATH. It is this that
is particularly confusing at first (unexpected).
The idea is that not every program/command you might want to use is on your PATH
or preconfigured by a file-type association. The former is especially true on
Windows, I think - PATH is not used as much on Windows, especially by users who
do not program on Windows (which means most Windows users).
For #2, there are in turn two sources of "appropriate" programs:
2a. Whatever `dired-guess-default' guesses for the target files. This is
determined by variable `dired-guess-shell-alist-default' and user option
`dired-guess-shell-alist-user'. This is available only if you load
`dired-x.el'.
2b. Whatever `mailcap-file-default-commands' returns for the target files (based
on MIME types of the target files). This is only for Emacs 23 and later.
Note that #2 is true in Dired for `!' and outside Dired for `M-!' (provided you
load `dired-x.el'). These candidates are available whenever a shell command is
read in Icicles.
File-name completion is very different from command completion, so in order to
allow completion of arbitrary program files I opted for file-name completion and
then brought in proxy candidates for the known commands (those on $PATH and the
others mentioned above).
When you complete, the proxy candidates are sorted first, and they are
highlighted specially in *Completions* for easy recognition.
If `icicle-guess-commands-in-path' is nil (the default), then the only proxy
candidates are those from #2: programs that are known to be appropriate
candidates for the file type in question. This takes effect in contexts such as
Dired where the files that are the targets of the command you will choose are
already known. E.g., for a PDF file in Dired, `!' will include commands such as
`gv -safer', `xpdf', and `pdftotext ? -'.
Sorry for any confusion. HTH.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: shell command completion gone
2011-01-07 16:14 ` Drew Adams
@ 2011-01-08 4:02 ` prad
[not found] ` <mailman.0.1294459339.1472.help-gnu-emacs@gnu.org>
1 sibling, 0 replies; 26+ messages in thread
From: prad @ 2011-01-08 4:02 UTC (permalink / raw)
To: help-gnu-emacs
"Drew Adams" <drew.adams@oracle.com> writes:
> Sorry for any confusion.
drew thank you very much for that detailed explanation.
i have things working fine now using M-/
icicles is a wonderful addition!
--
in friendship,
prad
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: shell command completion gone
[not found] ` <mailman.0.1294459339.1472.help-gnu-emacs@gnu.org>
@ 2011-01-08 17:37 ` rusi
2011-01-08 22:11 ` prad
0 siblings, 1 reply; 26+ messages in thread
From: rusi @ 2011-01-08 17:37 UTC (permalink / raw)
To: help-gnu-emacs
On Jan 8, 9:02 am, prad <p...@towardsfreedom.com> wrote:
> "Drew Adams" <drew.ad...@oracle.com> writes:
> > Sorry for any confusion.
>
> drew thank you very much for that detailed explanation.
> i have things working fine now using M-/
> icicles is a wonderful addition!
>
> --
> in friendship,
> prad
Hi Prad.
Do you think you could spell out some (say 5-10) typical use-cases of
icicles?
Reason I ask: Ive tried a couple of times to use icicles but could not
get into it
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: shell command completion gone
2011-01-08 17:37 ` rusi
@ 2011-01-08 22:11 ` prad
2011-01-11 4:54 ` Le Wang
0 siblings, 1 reply; 26+ messages in thread
From: prad @ 2011-01-08 22:11 UTC (permalink / raw)
To: help-gnu-emacs
rusi <rustompmody@gmail.com> writes:
> Hi Prad.
> Do you think you could spell out some (say 5-10) typical use-cases of
> icicles?
> Reason I ask: Ive tried a couple of times to use icicles but could not
> get into it
>
certainly rusi and i appreciate your asking this since i tend to just
use it very passively being effectively a newbie. exploring the package
further gets you to really appreciate the wonderful work it really is!
* ideas on icicles
these are just some basic explorations of what you
can do with drew adam's enormously helpful icicles package.
** cycling completions
ref: http://www.emacswiki.org/emacs/Icicles_-_Cycling_Completions
use <home>,<end> keys to cycle through all possibilities in minibuffer
use <tab> to cycle as well and see possibilities in a separate buffer too
ex: C-x C-f and use those keys to cycle through available files
ex: C-h C-i m and cycles through topics in info
ex: C-x b and cycle through your buffer choices
ex: C-h v, type gnu and cycle through all variable which begin with
"gnu"
** apropos completion via regexp
ref: http://www.emacswiki.org/emacs/Icicles_-_Apropos_Completions
use <page up>,<page down> for matching regexp anywhere (instead of just
prefix as with gnu ex above)
use S-<tab> to see all items which have regexp in them in separate buffer
ex: M-x line and use those keys to cycle through all commands which has
"line"
ex: M-x tran.*line and use those keys to find "transpose-lines" right
away
ex: M-x line S-<tab> to see all commands which have "line" in them
ex: C-x b at and use those keys to cycle through all buffers with "at"
in them
** input history completion
if you want to see what you have actually done yourself instead of what
is available, just use M-n, M-p which let you traverse your own input
history
ex: visit some buffers then C-x b and M-n, M-p will show you where you
have been
** progressive completion ref:
http://www.emacswiki.org/emacs/Icicles_-_Progressive_Completion
analogous to sequential piping, this let's you narrow a search through
repeated internal matching using S-<spc> (or S-<tab> and repeated M-*)
ex: say you can't quite remember that the gnus-save-article-folder
command or may be it's gnus-save-folder-article or something with "save"
and "folder" anyway. so type C-h f gnus S-<spc> then S-<spc> save then
S-<spc> folder and this way you'll keep narrowing your search without
having to worry about the order of the components.
how's that for starters?
my uses are presently limited to command, help, buffer and file issues
but i'm wondering if i can make better use of it for ordinary text
completions too - sort of as a non-verbal speech recognition
mechanism. i think company.el may facilitate this idea, but i haven't
explored it yet.
--
in friendship,
prad
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: shell command completion gone
2011-01-08 22:11 ` prad
@ 2011-01-11 4:54 ` Le Wang
2011-01-11 23:21 ` Icicles [was: shell command completion gone] Drew Adams
[not found] ` <mailman.2.1294788149.12535.help-gnu-emacs@gnu.org>
0 siblings, 2 replies; 26+ messages in thread
From: Le Wang @ 2011-01-11 4:54 UTC (permalink / raw)
To: prad; +Cc: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 2027 bytes --]
On Sun, Jan 9, 2011 at 6:11 AM, prad <prad@towardsfreedom.com> wrote:
> certainly rusi and i appreciate your asking this since i tend to just
> use it very passively being effectively a newbie. exploring the package
> further gets you to really appreciate the wonderful work it really is!
>
Considering everything in the package, it's difficult for anyone to not use
it "very passively". I'm just getting reacquainted with it myself. I think
Drew's approach in designing the package was to put everything under the sun
completion related in there and enable most of it by default. The advantage
of this approach is people can discover features "by accident". The
downside is the dramatic behavior changes can scare away people just testing
the waters.
Rest assured, though, *the behaviors you do not want can be disabled*. And
if you notice something that could be a bug Drew is a super responsible and
responsive maintainer.
Here is the use-case I find useful above all else icicles offers:
I want help with the function that searches regexps backwards. I know that
the keywords "backward" "regex" and "search" occurs in its name, but I don't
know in what order. Normally I would have to apropos several possible
orders before finding the exact name. With icicles, I can just use the `*
icicle-narrow-candidates*' to interactively filter the completion list, to
wit:
1. <C-h>fregex<shift-tab>
2. <M-*>back<shift-tab>
3. <M-*>search<shift-tab>
After each step, the completion candidates are narrowed, and whenever the
list is short enough, I can pop into the completion list window and select
it myself.
Drew's analogy for this is shell piping into successive greps. I often find
functions that I didn't know existed and are in fact better suited to my
purpose by using this narrowing tool.
The wiki is a great place to get more info on icicles. Drew is very active
there. Researching my little example above, I just found out that the
<S-tab><M-*> can be shortened to just <S-spc>.
hth.
--
Le
[-- Attachment #2: Type: text/html, Size: 2765 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Icicles [was: shell command completion gone]
2011-01-11 4:54 ` Le Wang
@ 2011-01-11 23:21 ` Drew Adams
2011-01-12 7:17 ` Icicles prad
[not found] ` <mailman.2.1294788149.12535.help-gnu-emacs@gnu.org>
1 sibling, 1 reply; 26+ messages in thread
From: Drew Adams @ 2011-01-11 23:21 UTC (permalink / raw)
To: 'Le Wang', 'prad'; +Cc: help-gnu-emacs
Thanks for your kind words, Le and Prad. I have a few comments, FWIW.
> > i tend to just use it very passively being effectively a
> > newbie. exploring the package further gets you to really
> > appreciate the wonderful work it really is!
>
> Considering everything in the package, it's difficult for
> anyone to not use it "very passively". I'm just getting
> reacquainted with it myself. I think Drew's approach in
> designing the package was to put everything under the sun
> completion related in there and enable most of it by default.
> The advantage of this approach is people can discover
> features "by accident". The downside is the dramatic
> behavior changes can scare away people just testing the
> waters.
Actually, no, that's not the intention. My approach is not to turn
everything on and hope that people "discover features by accident".
That the default Icicles behavior is different in some respects from
vanilla Emacs might sometimes give that impression, but that is not my
approach.
1. If you use only TAB to complete minibuffer input, and you do not do
anything that you wouldn't do anyway in the vanilla Emacs minibuffer,
then you should hardly notice being in Icicle mode.
That's modulo any bugs that might exist, of course. And "hardly" is
not "never".
The point here is that Icicles features come primarily from binding
additional keys in the minibuffer. In general, if you don't use those
keys in the minibuffer then you won't get special behavior.
And the keys in question are typically keys that you would not use for
editing text. In Icicles it is especially important that you be able
to edit normally in the minibuffer.
Minibuffer text editing can be more important in Icicles than in
vanilla Emacs for several reasons, including because Icicles does not
avoid or prevent the use of completion candidates that contain spaces,
newlines, and so on. You can enter such characters in the minibuffer
just as you would in any other buffer (hit `SPC', `C-j'). Likewise
`?' characters. No need to quote such chars using `C-q'.
Is this a case of non-vanilla behavior that might be surprising? Yes.
Is it objectionable? IMO, no. (And you can easily turn it off.)
FWIW, vanilla Emacs itself finally came around (in version 22) to
letting `SPC' be self-inserting for file-name completion. Perhaps
someday it will loosen up further in this regard. ;-) In a
text-editing context, sacrificing a printable char such as `?' as a
help-command key is silly, IMO. Anyway, if you're not used to such
keys self-inserting in the minibuffer then you might be surprised, but
probably not too disoriented.
Admittedly, a few of the keys that Icicles binds in the minibuffer for
special purposes are keys that you might normally use for editing, but
they are not so useful for editing in the minibuffer. And they are
really the exception.
For example, `M-k' is normally `kill-sentence', but in the minibuffer
sentences are not very significant, so `M-k' in the Icicles minibuffer
empties the minibuffer completely. Another example is `M-o': In the
Icicles minibuffer `M-o' invokes a recursive minibuffer to let you
complete against past inputs and insert them at the minibuffer cursor.
I figure that in the minibuffer you won't miss `M-o' as a facemenu
prefix key (`facemenu-keymap'). This is analogous to Dired mode
co-opting `M-o' for `dired-omit-mode'. Again, such keys are the
exception; Icicles has respect for keys that edit.
2. It is not unusual that someone who might be attracted to Icicles
for some of its features comes not from vanilla Emacs but from some
other package that also provides enhanced completion or cycling - Ido
or Iswitchb, for instance. That makes sense: they've already been
looking for something On Beyond Vanilla.
In that case they may already be used to a different minibuffer UI
from the vanilla one. They can thus have particular expectations that
conflict with the Icicles UI. Things like incremental completion and
cycling among candidates are different in Icicles.
In general, Icicles minibuffer behavior is closer to the vanilla Emacs
behavior: you type and edit, hit TAB to complete if you want, and then
hit RET to accept/commit your input. When you cycle, the current
candidate takes the place of your minibuffer input, so you can edit it
normally. Icicles is not Ido.
3. My approach to default behavior is to aim for a good overall
experience, where the various features fit together well. At the same
time, I aim for what I expect to be the average Icicles user,
typically based on what I expect are pretty average preferences and
uses of vanilla Emacs.
For example, I do not set Icicles default values to the values that I
myself use. I set them to what I expect will be most useful for most
people.
You would (or perhaps would not) be surprised at the number of people
who have different preferences and think that a default behavior
should be changed. Users sometimes do not think, like maintainers do,
in terms of other users - they sometimes think that what is most
natural and most useful is what _they_ happen to prefer. As users we
are probably all guilty of that. So there is always someone who
thinks that some default behavior is a bad choice.
I aim to have the default settings provide a good combination overall
for using Icicles. Things are designed to fit together and take good
advantage of what Icicles has to offer (synergy). Think of this
approach to defaults as being "what is best for using Icicles" - for
most use cases. That's the aim, anyway.
That's not the same as throwing everything at you so you are forced to
discover features by accident, as gotchas. The latter might appear to
be the case, but it is not. I think a lot about the defaults, and I
try to document things well, including how to turn things off and how
to customize.
5. I recommend that new Icicles users at least try the default
settings, in particular the default key bindings, for a little while
before deciding to customize them.
Because someone new to Icicles is not yet familiar with the features
and how they fit together, it can be tempting to want to customize
things immediately, to shoot for the keys you are used to, etc. That
is like a VI user switching to Emacs and wanting to use a VI emulator
to support the habit.
You can do that - nothing wrong with it, but if you do you will not
necessarily learn what Icicles or Emacs really has to offer, in terms
of synergy: how one part can help another part do things better.
Especially since, starting out, you likely will not use many of the
Icicles features at first. If all you do is complete and cycle then
you might not see why some of the defaults are as they are. They are
as they are for use of Icicles as a whole.
5. Generally speaking, Icicles takes place in the minibuffer, and in
general it does not affect top-level commands. But it is true that
there are some exceptions. They are not there so that you fall into
pit-holes or trip up by accident. They are called out in the doc.
When top-level features are turned on by default it is because I think
they offer the best Icicles experience.
A typical example is an Icicles multi-command that replaces a standard
command. For instance, `icicle-dired' is bound by default (in Icicle
mode) to `C-x d'. It is just a multi-command version of `dired'. If
you do nothing special it acts like `dired'. But if you use some
additional keys in the minibuffer then you get additional behavior.
I could have opted not to bind any top-level commands such as
`icicle-dired', and just let users bind them if they want to. I chose
to bind some by default - not so that users would accidentally come
across land mines, but because (a) I think they are not so different
that they should be found bothersome, (b) they are well documented,
including how to turn them off, and (c) the original behavior is
restored when you turn off Icicle mode.
6. That last point is important: I try to corral all of the Icicles
weirdness within Icicle minor mode: turn it off and Icicles goes away.
That's not so easy to do, BTW. Lots of hoops are jumped through to
try to do that cleanly. I doubt that this is 100% perfect, but it is
pretty good.
Icicles adds Icicle-mode key bindings, and it changes some minibuffer
key bindings when you are in Icicle mode. In general, it does not
change key bindings in other key maps (`global-map', major-mode maps,
or minor-mode maps), with the exceptions mentioned below (#7).
7. It is straightforward to tell Icicles not to change stuff.
* Set option `icicle-touche-pas-aux-menus' to `t' if you do not want
Icicles to add stuff to existing menu-bar menus.
* Customize option `icicle-top-level-key-bindings' to remove or change
any top-level bindings you want. If you set this option to `nil'
then Icicles does not add or change any top-level keys.
I created this option to make it easy for anyone, including
non-Lispers, to customize keys or remap commands, even
conditionally. Here's a picture and an explanation:
http://www.emacswiki.org/emacs/Icicles_-_Key_Bindings#IcicleModeBindings
* Set option `icicle-redefine-standard-commands-flag' to `nil' if you
do not want Icicles to bind any keys in particular modes. E.g., by
default, in `Info' mode Icicles rebinds `i', `g', and `m' to
multi-command versions of the vanilla commands.
> Rest assured, though, the behaviors you do not want can be disabled.
> And if you notice something that could be a bug Drew is a super
> responsible and responsive maintainer.
>
> Here is the use-case I find useful above all else icicles offers:
...[description of progressive completion to find a function name]...
> The wiki is a great place to get more info on icicles. Drew is
> very active there. Researching my little example above, I just
> found out that the <S-tab><M-*> can be shortened to just <S-spc>.
I recommend the following page for info about things like that. It
gives a good idea how Icicles can help you _ask Emacs about itself_:
http://www.emacswiki.org/emacs/EmacsNewbieWithIcicles
Yes, there is a lot in Icicles - more than I use myself very often.
(I don't develop software for a living anymore. I use Emacs just to
fart around. ;-))
Besides being unaware of some Icicles features, it's of course easy to
forget some of them - minibuffer key bindings, for instance. Just
remember one: `C-?' in the minibuffer is your friend. It reminds you
about key bindings and gives you an instant link to all of the Icicles
doc.
HTH.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
[not found] ` <mailman.2.1294788149.12535.help-gnu-emacs@gnu.org>
@ 2011-01-12 5:10 ` rusi
2011-01-12 15:45 ` Drew Adams
0 siblings, 1 reply; 26+ messages in thread
From: rusi @ 2011-01-12 5:10 UTC (permalink / raw)
To: help-gnu-emacs
On Jan 12, 4:21 am, "Drew Adams" <drew.ad...@oracle.com> wrote:
> For example, I do not set Icicles default values to the values that I
> myself use. I set them to what I expect will be most useful for most
> people.
>
> You would (or perhaps would not) be surprised at the number of people
> who have different preferences and think that a default behavior
> should be changed. Users sometimes do not think, like maintainers do,
> in terms of other users - they sometimes think that what is most
> natural and most useful is what _they_ happen to prefer. As users we
> are probably all guilty of that. So there is always someone who
> thinks that some default behavior is a bad choice.
>
> I aim to have the default settings provide a good combination overall
> for using Icicles. Things are designed to fit together and take good
> advantage of what Icicles has to offer (synergy). Think of this
> approach to defaults as being "what is best for using Icicles" - for
> most use cases. That's the aim, anyway.
>
> That's not the same as throwing everything at you so you are forced to
> discover features by accident, as gotchas. The latter might appear to
> be the case, but it is not. I think a lot about the defaults, and I
> try to document things well, including how to turn things off and how
> to customize.
I of course appreciate that as the developer's/envisioner's view.
But just see what its like from that of a wannabe user (like but not
restricted to yours truly :-)
He has a stark 0 1 infinity choice:
0. No icicles
1. Use icicles with defaults as given
infinity. tweak and understand every available option
How could this be improved?
I'm putting together 2 ideas
1. Ive heard Alan Mackenzie use the word 'emacsicality' for a
collection of (semi)coherent customizations
2. viper mode has a zillion customizations collected into 5 'levels'
So the viper solution for icicles would be to have say 3-4 levels of
icicles ranging from plain vanilla emacs to expert.
But there is a less technological solution which will certainly be
easier on Drew but likely also on the typical emacs user:
Put up (on the wiki maybe) a bunch of customization-bundles
corresponding to common learning paths.
So the vanilla-user learning path would be as follows (One could
replace vanilla by ido and iswitch if desired; you get a few more
bundles)
bundle-0. All keys behave as in vanilla emacs; icicles functionality
available in a standard place such as a menu
bundle-1. A few key (sorry for the pun) concepts are understood and
their corresponding keys are bound; but ONLY those keys
bundle-2. More concepts and more keys
Stop at 3 or 4! [And thats not factorial!]
> Thanks for your kind words, Le and Prad.
I have taught programming for nearly 25 years and the most valuable
learning Ive got (which Ive unfortunately mostly wasted) is beginner
mistakes. If I had a chance to go back I would collect the best
'mistakes'.
That is to say you need people like Le and Prad (and hopefully myself)
as control-points on the learning-bezier-curve.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles
2011-01-11 23:21 ` Icicles [was: shell command completion gone] Drew Adams
@ 2011-01-12 7:17 ` prad
2011-01-12 15:45 ` Icicles Drew Adams
0 siblings, 1 reply; 26+ messages in thread
From: prad @ 2011-01-12 7:17 UTC (permalink / raw)
To: help-gnu-emacs
"Drew Adams" <drew.adams@oracle.com> writes:
> Because someone new to Icicles is not yet familiar with the features
> and how they fit together, it can be tempting to want to customize
> things immediately, to shoot for the keys you are used to, etc. That
> is like a VI user switching to Emacs and wanting to use a VI emulator
> to support the habit.
>
> You can do that - nothing wrong with it, but if you do you will not
> necessarily learn what Icicles or Emacs really has to offer, in terms
> of synergy: how one part can help another part do things better.
>
thank you drew for the detailed explanations and ideas. i feel doubly
fortunate that i get to use something as fine as icicles and have the
author as coach. it can't get any better!
for me, i think you have made a significant point through your
explanations. i likely try to fiddle with too much too soon and should
make more of an effort to understand the capabilities and intent of the
software's defaults so as to get my bearings right first.
i acknowledge this can be difficult to do when there is such a wealth of
items available through something like emacs. while trying to learn
gnus, i wanted to learn how to use icicles better and that led me
somehow to org. so i've joined all the relevant groups and spend more
time reading the posts (of people wanting to implement things and others
coming up with neat solutions that i don't always understand) than
working on learning the software. self-discipline is definitely what is
required!
imho, open source is the next best thing to sliced bread (thx to people
like you who generously create things we all can use) ... and since i
don't eat bread, it's pretty well number one on my list!
--
in friendship,
prad
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: Icicles [was: shell command completion gone]
2011-01-12 5:10 ` Icicles [was: shell command completion gone] rusi
@ 2011-01-12 15:45 ` Drew Adams
2011-01-14 7:30 ` Rustom Mody
[not found] ` <mailman.13.1294990220.15276.help-gnu-emacs@gnu.org>
0 siblings, 2 replies; 26+ messages in thread
From: Drew Adams @ 2011-01-12 15:45 UTC (permalink / raw)
To: 'rusi', help-gnu-emacs
> bundle-0. All keys behave as in vanilla emacs; icicles functionality
> available in a standard place such as a menu
That's command `icy-mode': turns Icicles on (and off).
> bundle-1. A few key (sorry for the pun) concepts are understood and
> their corresponding keys are bound; but ONLY those keys
(setq icicle-touch-pas-aux-menus t
icicle-top-level-key-bindings nil
icicle-redefine-standard-commands-flag nil)
Just use completion normally: TAB, RET (~ vanilla Emacs).
Later, try candidate cycling if you want.
Try `C-M-mouse-2' for help on a candidate, if you want.
Try substring completion (`S-TAB') if you want.
IOW, start with vanilla behavior; explore Icicles by experimenting with features
as slowly as you like. There's nothing dangerous here.
There should be nothing confusing if you don't use keys you wouldn't normally
use in the minibuffer anyway.
> bundle-2. More concepts and more keys
> Stop at 3 or 4! [And thats not factorial!]
Au choix. You don't need a bundle to activate a few keys.
(setq icicle-touch-pas-aux-menus t)
Or just add back a few of the default keys to `icicle-top-level-key-bindings'.
Experiment with the ones you added before moving on.
> That is to say you need people like Le and Prad (and hopefully myself)
> as control-points
Yes, any maintainer/developer would be lost without user feedback. Many users
have helped Icicles along the way, and I and other users appreciate it.
> on the learning-bezier-curve.
IMO, Icicles can help with both the Emacs learning curve and the Icicles
learning curve. Believe it or not...
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: Icicles
2011-01-12 7:17 ` Icicles prad
@ 2011-01-12 15:45 ` Drew Adams
0 siblings, 0 replies; 26+ messages in thread
From: Drew Adams @ 2011-01-12 15:45 UTC (permalink / raw)
To: 'prad', help-gnu-emacs
> while trying to learn gnus, i wanted to learn how to use
> icicles better and that led me somehow to org.
In such a situation, it might be a good idea to use Icicles only as an aid to
learning gnus and org, for now. So you might want to turn off the following for
the time being, while you learn gnus and org:
(setq icicle-top-level-key-bindings nil
icicle-redefine-standard-commands-flag nil)
More variables means more confusion. Tiny bites swallowed finishes the slice of
bread first (learned that in an elementary-school contest - lost).
> imho, open source is the next best thing to sliced bread
Free and open software is much better than sliced bread - or at least better
than some sliced bread. ;-)
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
2011-01-12 15:45 ` Drew Adams
@ 2011-01-14 7:30 ` Rustom Mody
2011-01-14 9:04 ` Drew Adams
[not found] ` <mailman.16.1294995951.15276.help-gnu-emacs@gnu.org>
[not found] ` <mailman.13.1294990220.15276.help-gnu-emacs@gnu.org>
1 sibling, 2 replies; 26+ messages in thread
From: Rustom Mody @ 2011-01-14 7:30 UTC (permalink / raw)
To: Drew Adams; +Cc: help-gnu-emacs
Hi Drew.
Not used icicles for a while...
This thread prompted me to try again
Reinstalling: The get icicles shell script missed ring+.el. Anyway
thats a minor point
On Wed, Jan 12, 2011 at 9:15 PM, Drew Adams <drew.adams@oracle.com> wrote:
>> bundle-0. All keys behave as in vanilla emacs; icicles functionality
>> available in a standard place such as a menu
>
> That's command `icy-mode': turns Icicles on (and off).
Well I find that uparrow and downarrow in vanilla (aided with
savehist) gets me history
But icicles gets me the 2C-associate-buffer
(Seems to have recently changed from forward to reverse or some such
so now gives
zone-mode)
In any case vanilla gives history icicles gives all possible completions
Another thing about icicles that got in my way earlier (dunno if
changed recently) is that icicles stay around and show up unexpectedly
and uselessly when for example I kill another buffer
>
>> bundle-1. A few key (sorry for the pun) concepts are understood and
>> their corresponding keys are bound; but ONLY those keys
>
> (setq icicle-touch-pas-aux-menus t
> icicle-top-level-key-bindings nil
> icicle-redefine-standard-commands-flag nil)
>
> Just use completion normally: TAB, RET (~ vanilla Emacs).
>
> Later, try candidate cycling if you want.
> Try `C-M-mouse-2' for help on a candidate, if you want.
> Try substring completion (`S-TAB') if you want.
>
> IOW, start with vanilla behavior; explore Icicles by experimenting with features
> as slowly as you like. There's nothing dangerous here.
>
> There should be nothing confusing if you don't use keys you wouldn't normally
> use in the minibuffer anyway.
>
>> bundle-2. More concepts and more keys
>> Stop at 3 or 4! [And thats not factorial!]
>
> Au choix. You don't need a bundle to activate a few keys.
>
> (setq icicle-touch-pas-aux-menus t)
>
> Or just add back a few of the default keys to `icicle-top-level-key-bindings'.
> Experiment with the ones you added before moving on.
>
>> That is to say you need people like Le and Prad (and hopefully myself)
>> as control-points
>
> Yes, any maintainer/developer would be lost without user feedback. Many users
> have helped Icicles along the way, and I and other users appreciate it.
>
>> on the learning-bezier-curve.
>
> IMO, Icicles can help with both the Emacs learning curve and the Icicles
> learning curve. Believe it or not...
>
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
[not found] ` <mailman.13.1294990220.15276.help-gnu-emacs@gnu.org>
@ 2011-01-14 7:33 ` rusi
2011-01-21 4:12 ` rusi
1 sibling, 0 replies; 26+ messages in thread
From: rusi @ 2011-01-14 7:33 UTC (permalink / raw)
To: help-gnu-emacs
On Jan 14, 12:30 pm, Rustom Mody <rustompm...@gmail.com> wrote:
> Another thing about icicles that got in my way earlier (dunno if
> changed recently) is that icicles stay around and show up unexpectedly
> and uselessly when for example I kill another buffer
Typo: I meant icicles completion *buffers*
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: Icicles [was: shell command completion gone]
2011-01-14 7:30 ` Rustom Mody
@ 2011-01-14 9:04 ` Drew Adams
[not found] ` <mailman.16.1294995951.15276.help-gnu-emacs@gnu.org>
1 sibling, 0 replies; 26+ messages in thread
From: Drew Adams @ 2011-01-14 9:04 UTC (permalink / raw)
To: 'Rustom Mody'; +Cc: help-gnu-emacs
Hi Rustom,
If you think you've found an Icicles bug, please use `M-x
icicle-send-bug-report'.
> Reinstalling: The get icicles shell script missed ring+.el.
> Anyway thats a minor point
I did not write `get-icicles.sh', but I've just added `ring+.el' to its list of
optional libraries for Icicles - thanks. It is not a required library, but it
is used by one of the other libraries which is in the `get-icicles' optional
list.
> Well I find that uparrow and downarrow in vanilla (aided with
> savehist) gets me history But icicles gets me the 2C-associate-buffer
By default, `up' and `down' (arrows) in Icicles do not cycle history entries.
They cycle completion candidates per the current completion mode (e.g. prefix or
apropos). By default the current mode is prefix completion.
To cycle history entries use `M-n' and `M-p' (or change the keys to suit
yourself). This is all in the doc.
> (Seems to have recently changed from forward to reverse or some such
> so now gives zone-mode)
Dunno what you mean. There has been no change in either cycle order or
candidate sort order.
Apparently you were completing command names (`M-x'), and you cycled using `up'.
In that case, assuming the default sort order (alphabetical), the first
candidate presented is something like `zone-mode' (up from the last). If you
use `down' instead, then the first candidate alphabetically is cycled first,
e.g., `2c-associate-buffer'.
You can change the candidate sort order using `C-,'. You can reverse the
current sort order using `C-1 C-,' (any numeric prefix arg with `C-,'). If you
accidentally hit, say, `C-1 C-,' and if the current sort order is alphabetical,
then you get a reverse alphabetical sort: `down' then sorts up from z to a, and
`up' sorts down from a to z, the opposite of usual.
> Another thing about icicles that got in my way earlier (dunno if
> changed recently) is that icicles stay around and show up unexpectedly
> and uselessly when for example I kill another buffer
Sorry, no idea what you mean, even after your later correction, which I don't
understand either:
> Typo: I meant icicles completion *buffers*
If you kill a buffer it stays killed, in Icicles as in Emacs. And there is only
one completion buffer in Icicles (and typically in Emacs): `*Completions*'.
If you kill a buffer without also deleting its window, then another buffer takes
its place in the window. That's not special to Icicles. (Personally, I bind
`C-x k' to a command that deletes the window in addition to killing the buffer.)
Again, if you think you come across a bug, please file a report (starting from
emacs -Q etc.). Thx.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
[not found] ` <mailman.16.1294995951.15276.help-gnu-emacs@gnu.org>
@ 2011-01-14 9:34 ` rusi
2011-01-14 16:48 ` Drew Adams
2011-01-17 3:59 ` rusi
1 sibling, 1 reply; 26+ messages in thread
From: rusi @ 2011-01-14 9:34 UTC (permalink / raw)
To: help-gnu-emacs
On Jan 14, 2:04 pm, "Drew Adams" <drew.ad...@oracle.com> wrote:
> Hi Rustom,
>
> If you think you've found an Icicles bug, please use `M-x
> icicle-send-bug-report'.
>
> > Reinstalling: The get icicles shell script missed ring+.el.
> > Anyway thats a minor point
>
> I did not write `get-icicles.sh', but I've just added `ring+.el' to its list of
> optional libraries for Icicles - thanks. It is not a required library, but it
> is used by one of the other libraries which is in the `get-icicles' optional
> list.
>
> > Well I find that uparrow and downarrow in vanilla (aided with
> > savehist) gets me history But icicles gets me the 2C-associate-buffer
>
> By default, `up' and `down' (arrows) in Icicles do not cycle history entries.
> They cycle completion candidates per the current completion mode (e.g. prefix or
> apropos). By default the current mode is prefix completion.
Yes I know
>
> To cycle history entries use `M-n' and `M-p' (or change the keys to suit
> yourself). This is all in the doc.
Yes. I was just pointing out that that is not vanilla emacs -- your
earlier point was that simply using icy-mode without customizations
gives you vanilla behavior.
>
> > (Seems to have recently changed from forward to reverse or some such
> > so now gives zone-mode)
>
> Dunno what you mean. There has been no change in either cycle order or
> candidate sort order.
>
> Apparently you were completing command names (`M-x'), and you cycled using `up'.
> In that case, assuming the default sort order (alphabetical), the first
> candidate presented is something like `zone-mode' (up from the last). If you
> use `down' instead, then the first candidate alphabetically is cycled first,
> e.g., `2c-associate-buffer'.
>
> You can change the candidate sort order using `C-,'. You can reverse the
> current sort order using `C-1 C-,' (any numeric prefix arg with `C-,'). If you
> accidentally hit, say, `C-1 C-,' and if the current sort order is alphabetical,
> then you get a reverse alphabetical sort: `down' then sorts up from z to a, and
> `up' sorts down from a to z, the opposite of usual.
>
> > Another thing about icicles that got in my way earlier (dunno if
> > changed recently) is that icicles stay around and show up unexpectedly
> > and uselessly when for example I kill another buffer
>
> Sorry, no idea what you mean, even after your later correction, which I don't
> understand either:
>
> > Typo: I meant icicles completion *buffers*
>
> If you kill a buffer it stays killed, in Icicles as in Emacs. And there is only
> one completion buffer in Icicles (and typically in Emacs): `*Completions*'.
I see that the behavior is different than the last I saw. The icicles
completion buffer is still around and still useless (bringing it up
and clicking something in it gives me minibuffer is not active for
completion) but it seems to be 'buried' deeper than earlier so it does
not get so much in the way.
[Interestingly if I make the minibuffer active say with a M-x and then
click one of the (earlier) completion entries I get args out of range]
>
> If you kill a buffer without also deleting its window, then another buffer takes
> its place in the window. That's not special to Icicles. (Personally, I bind
> `C-x k' to a command that deletes the window in addition to killing the buffer.)
>
> Again, if you think you come across a bug, please file a report (starting from
> emacs -Q etc.). Thx.
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: Icicles [was: shell command completion gone]
2011-01-14 9:34 ` rusi
@ 2011-01-14 16:48 ` Drew Adams
2011-01-15 1:32 ` Darth Emacs
0 siblings, 1 reply; 26+ messages in thread
From: Drew Adams @ 2011-01-14 16:48 UTC (permalink / raw)
To: 'rusi', help-gnu-emacs
> > By default, `up' and `down' (arrows) in Icicles do not
> > cycle history entries. They cycle completion candidates...
>
> Yes I know
>
> > To cycle history entries use `M-n' and `M-p' (or change the
> > keys to suit yourself). This is all in the doc.
>
> Yes. I was just pointing out that that is not vanilla emacs -- your
> earlier point was that simply using icy-mode without customizations
> gives you vanilla behavior.
I did not say that. I said that if you use the usual keys in the minibuffer
then "you should hardly notice being in Icicle mode." To which I took the
trouble to point out that "`hardly' is not `never'", which is a caveat
recognizing that there are some differences.
`M-n' and `M-p' are standard keys for cycling history in vanilla Emacs. They
are the original keys for this, the most commonly documented keys for it, and
they work on nearly every keyboard. In Icicles too they cycle the input
history.
It is true that vanilla Emacs also assigns `down' and `up' for cycling history,
and Icicles assigns these keys, by default, to cycling candidates.
This is all documented. I wrote a fairly lengthy mail, but if you want a more
exact description then consult the doc. It doesn't help anyone to repeat such
details here, IMO.
But you say you already knew this about history cycling. So perhaps your point
was that I am misrepresenting things.
I think my representation was a fair and accurate general statement about a
typical user: if you stick to the usual keys in the minibuffer then you will
hardly notice being in Icicle mode. You are free to disagree.
> I see that the behavior is different than the last I saw. The icicles
> completion buffer is still around
The buffer has always been kept around. The *Completions* window is deleted,
that's all; the buffer is not killed. (Vanilla Emacs does not even remove the
window.)
My uninformed guess is that you have upgraded to a more recent Emacs version and
its choice of the buffer that is displayed when you kill a buffer has changed,
so that now you are more often seeing *Completions* displayed in the place of
some buffer that you have killed.
It is not Icicles that displays *Completions* then - Icicles is not "bringing it
up". *Completions* is just one existing buffer among others, and for some
reason Emacs now decides that it is the one it wants to display for you in the
window of a buffer that you killed.
It's possible that *Completions* should be buried when its window is deleted, to
reduce the possibility that it will be substituted for a killed buffer. Please
send a step-by-step bug report starting with emacs -Q, including your Emacs
version.
(I use a standalone *Completions* frame myself, so I don't see this problem.
And it has not been otherwise reported.)
> and still useless (bringing it up and clicking something
> in it gives me minibuffer is not active for completion)
Of course. There is no reason to click in it. Icicles is not "bringing it up".
It is just being shown in place of a buffer that you killed (IIUC). What you
want is for some other buffer to do that, not *Completions*. Send an exact
recipe and I'll take a look - sounds like a call to `bury-buffer' might be
needed.
> but it seems to be 'buried' deeper than earlier so it does
> not get so much in the way.
Now I'm confused. I thought you were describing a regression in behavior but
now it sounds like the behavior has actually improved. Anyway, send me a recipe
to reproduce what annoys you and I'll take a look.
> [Interestingly if I make the minibuffer active say with a M-x and then
> click one of the (earlier) completion entries I get args out of range]
The old content of the *Completions* buffer is of course useless (except for
reference, to see what the candidates were for your last use), as you pointed
out. You should not expect behavior different from what you describe in this
regard. On the other hand, if you hit TAB after M-x then *Completions* should
be correctly updated to show the current candidates.
HTH.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
2011-01-14 16:48 ` Drew Adams
@ 2011-01-15 1:32 ` Darth Emacs
2011-01-16 19:56 ` Drew Adams
0 siblings, 1 reply; 26+ messages in thread
From: Darth Emacs @ 2011-01-15 1:32 UTC (permalink / raw)
To: Drew Adams; +Cc: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 4809 bytes --]
Hi Drew,
By any chance could I talk you into posting your Icicles bindings. I would
enjoy getting a feel of how you think Icicles works best.
Best regards,
Darth Emacs
On Fri, Jan 14, 2011 at 9:48 AM, Drew Adams <drew.adams@oracle.com> wrote:
> > > By default, `up' and `down' (arrows) in Icicles do not
> > > cycle history entries. They cycle completion candidates...
> >
> > Yes I know
> >
> > > To cycle history entries use `M-n' and `M-p' (or change the
> > > keys to suit yourself). This is all in the doc.
> >
> > Yes. I was just pointing out that that is not vanilla emacs -- your
> > earlier point was that simply using icy-mode without customizations
> > gives you vanilla behavior.
>
> I did not say that. I said that if you use the usual keys in the
> minibuffer
> then "you should hardly notice being in Icicle mode." To which I took the
> trouble to point out that "`hardly' is not `never'", which is a caveat
> recognizing that there are some differences.
>
> `M-n' and `M-p' are standard keys for cycling history in vanilla Emacs.
> They
> are the original keys for this, the most commonly documented keys for it,
> and
> they work on nearly every keyboard. In Icicles too they cycle the input
> history.
>
> It is true that vanilla Emacs also assigns `down' and `up' for cycling
> history,
> and Icicles assigns these keys, by default, to cycling candidates.
>
> This is all documented. I wrote a fairly lengthy mail, but if you want a
> more
> exact description then consult the doc. It doesn't help anyone to repeat
> such
> details here, IMO.
>
> But you say you already knew this about history cycling. So perhaps your
> point
> was that I am misrepresenting things.
>
> I think my representation was a fair and accurate general statement about a
> typical user: if you stick to the usual keys in the minibuffer then you
> will
> hardly notice being in Icicle mode. You are free to disagree.
>
> > I see that the behavior is different than the last I saw. The icicles
> > completion buffer is still around
>
> The buffer has always been kept around. The *Completions* window is
> deleted,
> that's all; the buffer is not killed. (Vanilla Emacs does not even remove
> the
> window.)
>
> My uninformed guess is that you have upgraded to a more recent Emacs
> version and
> its choice of the buffer that is displayed when you kill a buffer has
> changed,
> so that now you are more often seeing *Completions* displayed in the place
> of
> some buffer that you have killed.
>
> It is not Icicles that displays *Completions* then - Icicles is not
> "bringing it
> up". *Completions* is just one existing buffer among others, and for some
> reason Emacs now decides that it is the one it wants to display for you in
> the
> window of a buffer that you killed.
>
> It's possible that *Completions* should be buried when its window is
> deleted, to
> reduce the possibility that it will be substituted for a killed buffer.
> Please
> send a step-by-step bug report starting with emacs -Q, including your Emacs
> version.
>
> (I use a standalone *Completions* frame myself, so I don't see this
> problem.
> And it has not been otherwise reported.)
>
> > and still useless (bringing it up and clicking something
> > in it gives me minibuffer is not active for completion)
>
> Of course. There is no reason to click in it. Icicles is not "bringing it
> up".
> It is just being shown in place of a buffer that you killed (IIUC). What
> you
> want is for some other buffer to do that, not *Completions*. Send an exact
> recipe and I'll take a look - sounds like a call to `bury-buffer' might be
> needed.
>
> > but it seems to be 'buried' deeper than earlier so it does
> > not get so much in the way.
>
> Now I'm confused. I thought you were describing a regression in behavior
> but
> now it sounds like the behavior has actually improved. Anyway, send me a
> recipe
> to reproduce what annoys you and I'll take a look.
>
> > [Interestingly if I make the minibuffer active say with a M-x and then
> > click one of the (earlier) completion entries I get args out of range]
>
> The old content of the *Completions* buffer is of course useless (except
> for
> reference, to see what the candidates were for your last use), as you
> pointed
> out. You should not expect behavior different from what you describe in
> this
> regard. On the other hand, if you hit TAB after M-x then *Completions*
> should
> be correctly updated to show the current candidates.
>
> HTH.
>
>
>
--
* Darth Emacs *
“Duct tape is like the force. It has a light side, a dark side, and it holds
the universe together. <http://thinkexist.com/quotes/oprah_winfrey/>”
[-- Attachment #2: Type: text/html, Size: 5619 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: Icicles [was: shell command completion gone]
2011-01-15 1:32 ` Darth Emacs
@ 2011-01-16 19:56 ` Drew Adams
2011-01-19 0:29 ` Darth Emacs
0 siblings, 1 reply; 26+ messages in thread
From: Drew Adams @ 2011-01-16 19:56 UTC (permalink / raw)
To: 'Darth Emacs'; +Cc: help-gnu-emacs
> By any chance could I talk you into posting your Icicles bindings.
> I would enjoy getting a feel of how you think Icicles works best.
1. There is no best. For Icicles anymore than for Emacs.
Different people use Emacs/Icicles differently, and the same person uses them
differently at different times, in different contexts.
This is one reason that Icicles (a) has so many options and (b) has minibuffer
bindings to toggle or cycle many of those options - so that you can change the
behavior on the fly, depending on the context. No one size fits all, especially
since Icicles applies to all kinds of minibuffer completion.
2. My Emacs setup is particular, and that affects my preferences throughout
Emacs. Among other things, I use a standalone minibuffer, and I generally use
frames where most people use windows. My use of Emacs is also not average; in
particular, I do not use it to develop software (other than Emacs Lisp).
So an Emacs or Icicles setting that I find useful or comfortable might not be so
for someone else.
The main point is #1, however. There is no best way to configure or use
Icicles.
FWIW, these are the Icicles options that I have customized for my own use (not
including `icicle-buffer-configs' and `icicle-saved-completion-sets', whose
values are just personal collections.
(custom-set-variables...
'(icicle-bookmark-refresh-cache-flag nil)
'(icicle-default-value (quote insert-end))
'(icicle-highlight-input-completion-failure (quote implicit))
'(icicle-regexp-search-ring-max 1000)
'(icicle-search-ring-max 1000)
...)
This does not mean that these are settings are what I recommend for most people
or that these lead to the "best" way of working with Icicles/Emacs. Far from
it. But I post them since you asked.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
[not found] ` <mailman.16.1294995951.15276.help-gnu-emacs@gnu.org>
2011-01-14 9:34 ` rusi
@ 2011-01-17 3:59 ` rusi
2011-01-17 17:35 ` Drew Adams
1 sibling, 1 reply; 26+ messages in thread
From: rusi @ 2011-01-17 3:59 UTC (permalink / raw)
To: help-gnu-emacs
On Jan 14, 2:04 pm, "Drew Adams" <drew.ad...@oracle.com> wrote:
> Hi Rustom,
>
> If you think you've found an Icicles bug, please use `M-x
> icicle-send-bug-report'.
>
> > Another thing about icicles that got in my way earlier (dunno if
> > changed recently) is that icicles stay around and show up unexpectedly
> > and uselessly when for example I kill another buffer
>
> Sorry, no idea what you mean
Heres the behavior that does not make sense (to me)
emacs ;; Start emacs. It starts in *scratch* buffer
info ;; Start info with C-h i
m elisp ;; elisp node
m buffers TAB ;; I get an icicles completion window with "buffers"
and "buffers and windows"
Select one of them
q ;; exit info
Instead of putting me in the *scratch* buffer where I started its in
the "buffers" and "buffers and windows" completion window
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: Icicles [was: shell command completion gone]
2011-01-17 3:59 ` rusi
@ 2011-01-17 17:35 ` Drew Adams
0 siblings, 0 replies; 26+ messages in thread
From: Drew Adams @ 2011-01-17 17:35 UTC (permalink / raw)
To: 'rusi', help-gnu-emacs
> Instead of putting me in the *scratch* buffer where I started its in
> the ... completion window
Should be OK now. Thx.
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
2011-01-16 19:56 ` Drew Adams
@ 2011-01-19 0:29 ` Darth Emacs
0 siblings, 0 replies; 26+ messages in thread
From: Darth Emacs @ 2011-01-19 0:29 UTC (permalink / raw)
To: Drew Adams; +Cc: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 2326 bytes --]
many many thanks... new perspectives are fuel for creativity. I am also
using frames as opposed to windows. Welcome to the twenty-first century.
Hurrah!
On Sun, Jan 16, 2011 at 12:56 PM, Drew Adams <drew.adams@oracle.com> wrote:
> > By any chance could I talk you into posting your Icicles bindings.
> > I would enjoy getting a feel of how you think Icicles works best.
>
> 1. There is no best. For Icicles anymore than for Emacs.
>
> Different people use Emacs/Icicles differently, and the same person uses
> them
> differently at different times, in different contexts.
>
> This is one reason that Icicles (a) has so many options and (b) has
> minibuffer
> bindings to toggle or cycle many of those options - so that you can change
> the
> behavior on the fly, depending on the context. No one size fits all,
> especially
> since Icicles applies to all kinds of minibuffer completion.
>
> 2. My Emacs setup is particular, and that affects my preferences throughout
> Emacs. Among other things, I use a standalone minibuffer, and I generally
> use
> frames where most people use windows. My use of Emacs is also not average;
> in
> particular, I do not use it to develop software (other than Emacs Lisp).
>
> So an Emacs or Icicles setting that I find useful or comfortable might not
> be so
> for someone else.
>
>
> The main point is #1, however. There is no best way to configure or use
> Icicles.
>
> FWIW, these are the Icicles options that I have customized for my own use
> (not
> including `icicle-buffer-configs' and `icicle-saved-completion-sets', whose
> values are just personal collections.
>
> (custom-set-variables...
> '(icicle-bookmark-refresh-cache-flag nil)
> '(icicle-default-value (quote insert-end))
> '(icicle-highlight-input-completion-failure (quote implicit))
> '(icicle-regexp-search-ring-max 1000)
> '(icicle-search-ring-max 1000)
> ...)
>
> This does not mean that these are settings are what I recommend for most
> people
> or that these lead to the "best" way of working with Icicles/Emacs. Far
> from
> it. But I post them since you asked.
>
>
--
* Darth Emacs *
“Duct tape is like the force. It has a light side, a dark side, and it holds
the universe together. <http://thinkexist.com/quotes/oprah_winfrey/>”
[-- Attachment #2: Type: text/html, Size: 2824 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
[not found] ` <mailman.13.1294990220.15276.help-gnu-emacs@gnu.org>
2011-01-14 7:33 ` rusi
@ 2011-01-21 4:12 ` rusi
2011-01-21 5:18 ` Le Wang
` (2 more replies)
1 sibling, 3 replies; 26+ messages in thread
From: rusi @ 2011-01-21 4:12 UTC (permalink / raw)
To: help-gnu-emacs
On Jan 14, 12:30 pm, Rustom Mody <rustompm...@gmail.com> wrote:
> Hi Drew.
> Well I find that uparrow and downarrow in vanilla (aided with
> savehist) gets me history
> But icicles gets me the 2C-associate-buffer
> (Seems to have recently changed from forward to reverse or some such
> so now gives
> zone-mode)
> In any case vanilla gives history icicles gives all possible completions
Trying to answer my own question:
Does
(setq icicle-default-cycling-mode 'history)
do what I want?
[Well it seems to as far as I can tell. Just dunno about odd/corner
cases]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
2011-01-21 4:12 ` rusi
@ 2011-01-21 5:18 ` Le Wang
2011-01-21 15:48 ` Drew Adams
[not found] ` <mailman.10.1295587091.21031.help-gnu-emacs@gnu.org>
2011-01-21 15:33 ` Drew Adams
2 siblings, 1 reply; 26+ messages in thread
From: Le Wang @ 2011-01-21 5:18 UTC (permalink / raw)
To: rusi; +Cc: help-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 819 bytes --]
The doc string on this variable explains it pretty well, no?
Setting icicle-default-cycling-mode to t was my first icicles customization.
On Fri, Jan 21, 2011 at 12:12 PM, rusi <rustompmody@gmail.com> wrote:
> On Jan 14, 12:30 pm, Rustom Mody <rustompm...@gmail.com> wrote:
> > Hi Drew.
> > Well I find that uparrow and downarrow in vanilla (aided with
> > savehist) gets me history
> > But icicles gets me the 2C-associate-buffer
> > (Seems to have recently changed from forward to reverse or some such
> > so now gives
> > zone-mode)
> > In any case vanilla gives history icicles gives all possible completions
>
> Trying to answer my own question:
> Does
> (setq icicle-default-cycling-mode 'history)
> do what I want?
>
> [Well it seems to as far as I can tell. Just dunno about odd/corner
> cases]
>
--
Le
[-- Attachment #2: Type: text/html, Size: 1321 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: Icicles [was: shell command completion gone]
[not found] ` <mailman.10.1295587091.21031.help-gnu-emacs@gnu.org>
@ 2011-01-21 5:24 ` rusi
0 siblings, 0 replies; 26+ messages in thread
From: rusi @ 2011-01-21 5:24 UTC (permalink / raw)
To: help-gnu-emacs
On Jan 21, 10:18 am, Le Wang <l26w...@gmail.com> wrote:
> The doc string on this variable explains it pretty well, no?
>
> Setting icicle-default-cycling-mode to t was my first icicles customization.
>
>
>
> On Fri, Jan 21, 2011 at 12:12 PM, rusi <rustompm...@gmail.com> wrote:
> > On Jan 14, 12:30 pm, Rustom Mody <rustompm...@gmail.com> wrote:
> > > Hi Drew.
> > > Well I find that uparrow and downarrow in vanilla (aided with
> > > savehist) gets me history
> > > But icicles gets me the 2C-associate-buffer
> > > (Seems to have recently changed from forward to reverse or some such
> > > so now gives
> > > zone-mode)
> > > In any case vanilla gives history icicles gives all possible completions
>
> > Trying to answer my own question:
> > Does
> > (setq icicle-default-cycling-mode 'history)
> > do what I want?
>
> > [Well it seems to as far as I can tell. Just dunno about odd/corner
> > cases]
>
> --
> Le
Well I dont know icicles well enough (or I am too dense) to see the
corner cases
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: Icicles [was: shell command completion gone]
2011-01-21 4:12 ` rusi
2011-01-21 5:18 ` Le Wang
[not found] ` <mailman.10.1295587091.21031.help-gnu-emacs@gnu.org>
@ 2011-01-21 15:33 ` Drew Adams
2 siblings, 0 replies; 26+ messages in thread
From: Drew Adams @ 2011-01-21 15:33 UTC (permalink / raw)
To: 'rusi', help-gnu-emacs
> vanilla gives history icicles gives all possible completions
> Trying to answer my own question:
You didn't ask a question. ;-)
> Does (setq icicle-default-cycling-mode 'history)
> do what I want?
Dunno. What do you want?
> [Well it seems to as far as I can tell. Just dunno
> about odd/corner cases]
If you want up/down to _always_ cycle the history, then customize these options
accordingly: `icicle-modal-cycle-up-keys', `icicle-modal-cycle-down-keys'.
Replace `up' and `down' in the key lists with keys of your choice.
(If you do that, you might also want to change the similar options for keys that
cycle per-mode actions, alternate actions, and help, `C-down', `C-S-down',
`C-M-down', etc. for consistency.)
Option `icicle-default-cycling-mode' determines only the _default_ cycling mode:
the mode in effect if you do not specify the mode (i.e., before you specify it),
by hitting `TAB' (for prefix completion) or `S-TAB' (for apropos completion).
This option has no effect once you have specified the current cycling mode.
If you leave the default bindings for `icicle-modal-cycle-(up|down)-keys' as
`up' and `down', those two keys reflect the current completion mode. They do
not cycle history once you have specified the current completion mode explicitly
(`TAB' or `S-TAB').
E.g., if you type `foo TAB', then `up' and `down' perform prefix-mode cycling,
not history cycling, regardless of the value of `icicle-default-cycling-mode'.
It is only before you hit either `TAB' or `S-TAB' that a default setting of
`icicle-default-cycling-mode' other than `prefix', `apropos', and `nil' cycles
the history.
,----
| icicle-default-cycling-mode is a variable defined in `icicles-opt.el'.
| Its value is prefix
|
| Documentation:
| *Default completion mode for per-mode cycling.
| When you hit a completion key (`TAB' or `S-TAB'), it sets the current
| completion mode (prefix or apropos, respectively). That determines
| the kind of completion to be used by the per-mode cycling keys.
|
| This option controls which completion mode to use if you cycle using a
| per-mode key (e.g. `down') *before* hitting a completion key.
|
| - `prefix' means cycle prefix completions
| - `apropos' means cycle apropos completions
| - Any other non-nil value means cycle inputs from the input history
| - nil means do not cycle - you must first hit a completion key
|
| The per-mode cycling keys are the values of
| `icicle-modal-cycle-up-keys' (backward) and
| `icicle-modal-cycle-down-keys' (forward). By default, these are keys
| `up' and `down' as well as the mouse wheel.
|
| For example, if the value is `prefix' (the default) then you can
| immediately cycle prefix completions using `up', `down', or the mouse
| wheel, without first hitting `TAB'.
|
| Once you have used `TAB' or `S-TAB', the only way to traverse the
| history is using `M-p' and `M-n' (they always traverse the history).
|
| This option affects only cycling with the per-mode keys. You can
| always use the mode-specific cycling keys instead to cycle according
| to a particular mode. The mode-specific keys are (by default):
|
| - `end' and `home' for prefix completion
| - `next' and `prior' for apropos completion
|
| (By default there is no conflict between the cycling keys that are
| mode-specific and those that are per-mode. But if you customize them
| in such a way that you set a key to both, the mode-specific use takes
| priority.)
|
| After you change the value of this option, toggle Icicle mode off,
| then on again, for the change to take effect in the same session.
|
| You can customize this variable.
`----
^ permalink raw reply [flat|nested] 26+ messages in thread
* RE: Icicles [was: shell command completion gone]
2011-01-21 5:18 ` Le Wang
@ 2011-01-21 15:48 ` Drew Adams
0 siblings, 0 replies; 26+ messages in thread
From: Drew Adams @ 2011-01-21 15:48 UTC (permalink / raw)
To: 'Le Wang', 'rusi'; +Cc: help-gnu-emacs
> The doc string on this variable explains it pretty well, no?
>
> Setting icicle-default-cycling-mode to t was my first icicles
> customization.
To be clear: It has no effect on history cycling, once you've
hit `TAB' or `S-TAB'. So it does not do what Rustom wants, IIUC.
If you want `up' and `down' to always cycle the history, then customize
`icicle-modal-cycle-up-keys' and `icicle-modal-cycle-down-keys'.
You do not need to _also_ customize `icicle-default-cycling-mode'. Once you've
said that `up' and `down' will not perform per-mode candidate cycling, their
traditional behaviors of cycling the history kick in again. They then _always_
cycle the history.
If, e.g., you choose `kp-1' for modal cycling down and `kp-7' for modal cycling
up, then using those keys before you hit `TAB' or `S-TAB' cycles according to
`icicle-default-cycling-mode', which is `prefix' by default.
Which is probably what you want, even when you have reestablished `up|down' for
history cycling.
^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2011-01-21 15:48 UTC | newest]
Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-07 6:45 shell command completion gone prad
2011-01-07 16:14 ` Drew Adams
2011-01-08 4:02 ` prad
[not found] ` <mailman.0.1294459339.1472.help-gnu-emacs@gnu.org>
2011-01-08 17:37 ` rusi
2011-01-08 22:11 ` prad
2011-01-11 4:54 ` Le Wang
2011-01-11 23:21 ` Icicles [was: shell command completion gone] Drew Adams
2011-01-12 7:17 ` Icicles prad
2011-01-12 15:45 ` Icicles Drew Adams
[not found] ` <mailman.2.1294788149.12535.help-gnu-emacs@gnu.org>
2011-01-12 5:10 ` Icicles [was: shell command completion gone] rusi
2011-01-12 15:45 ` Drew Adams
2011-01-14 7:30 ` Rustom Mody
2011-01-14 9:04 ` Drew Adams
[not found] ` <mailman.16.1294995951.15276.help-gnu-emacs@gnu.org>
2011-01-14 9:34 ` rusi
2011-01-14 16:48 ` Drew Adams
2011-01-15 1:32 ` Darth Emacs
2011-01-16 19:56 ` Drew Adams
2011-01-19 0:29 ` Darth Emacs
2011-01-17 3:59 ` rusi
2011-01-17 17:35 ` Drew Adams
[not found] ` <mailman.13.1294990220.15276.help-gnu-emacs@gnu.org>
2011-01-14 7:33 ` rusi
2011-01-21 4:12 ` rusi
2011-01-21 5:18 ` Le Wang
2011-01-21 15:48 ` Drew Adams
[not found] ` <mailman.10.1295587091.21031.help-gnu-emacs@gnu.org>
2011-01-21 5:24 ` rusi
2011-01-21 15:33 ` Drew Adams
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.