help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Icicles [was: shell command completion gone]


From: Darth Emacs
Subject: Re: Icicles [was: shell command completion gone]
Date: Fri, 14 Jan 2011 18:32:33 -0700

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 <address@hidden> 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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]