> >> "M-SPC runs the command icicle-prefix-word-complete, which is an
> >> interactive compiled Lisp function in `icicles-mcmd.el'."
>
> I was able to successfully bind M-SPC toIt is already bound to M-SPC, as you indicated above.
> icicle-prefix-word-complete by
> customizing icicle-word-completion-keys.
Perhaps you meant M-TAB.
I don't recommend that, but you are welcome to do it. Icicles completion works
> However the docs for icicle-word-completion-keys suggest that
> I can also bind SPC if I wanted. That actually sounds better
> because I can't remember the last time I tried to complete a
> filename with a space in it.
for all kinds of things, many of which contain space chars.
The point of binding SPC to self-insertion is to, well, make it easy to insert a
space, rather than having to use `C-q SPC'. Likewise, for `?' and `C-j'
(newline).
You need to do three things:
> But no matter what I put in that field, SPC wouldn't trigger
> icicle-prefix-word-complete, it was still bound to icicle-self-insert.
1. What you did: add the SPC binding for `icicle-word-completion-keys'/
2. Remove the SPC binding to `icicle-self-insert' from option
`icicle-completion-key-bindings'.
3. Toggle Icicle mode twice (exit and re-enter): M-x icy-mode M-x icy-mode. (Or
restart Emacs.)
Vanilla Emacs binds SPC to prefix word completion. Icicles binds it, in the
default value of `icicle-completion-key-bindings', to self-insertion insertion.
Likewise, `?' and `C-j'.
As I said, Icicles is used for completing lots of things besides just commands
and file names, and it generally makes sense to have ` ', `?', and `C-j' be
self-inserting. But you can easily customize this away.
That option name should be without the `-flag'. Long ago the option was a
> There's one other odd behavior I've been noticing. Even though I have
> icicle-expand-input-to-common-match-flag
Boolean and its name had the suffix `-flag'. Since you mention a value of `1'
you clearly do not have an older version of Icicles where the option had that
former name.
That is not what Icicles calls expansion to the common match. It is what
> set to 1 (only expand when
> using tab or s-tab), I am finding that I do get input inserted for me
> as I'm trying to type, and it ends up mixing my input with its own,
> resulting in bad input in the minibuffer.
>
> For example, if the directory I'm completing in has 3 files, fop fob bar
> if I quickly type 'fo' what appears in the minibuffer is
> 'foo'.
>
> I think that's because it's trying to expand the common match, since all the
> files that have 'f' also have 'fo'.
Icicles calls incremental completion.
This explains common-match expansion:
http://www.emacswiki.org/emacs/Icicles_-_Expanded-Common-Match_Completion.
This explains incremental completion:
http://www.emacswiki.org/emacs/Icicles_-_Icompletion
You can cycle/toggle either of these during completion, to see the differences.
See the doc strings of `icicle-expand-input-to-common-match' and
`icicle-incremental-completion'.
HTH.