Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Why does ^X? behave differently than TAB?
- X-seq: zsh-workers 11433
- From: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: Why does ^X? behave differently than TAB?
- Date: Wed, 17 May 2000 09:46:06 +0000
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
This situation is a little baroque; I'm not sure I can give a simple case
that reproduces it.
I have a script that uses a `select' loop, and I want completion at the
prompt. So I did this inside the script:
local curcontext=scriptname:::
zstyle ':completion:scriptname:*' insert-tab no
zstyle ':completion:scriptname:*' completer _script_completer
_script_completer() { compcall -T -D }
The reason for the compcall is that this is an old script that uses a trick
with compctl -T to force 3.0.x to complete something other than commands at
the select prompt:
l=(list of things to complete)
compctl -Tx 'p[1,-1]' -f - 'W[0,*]' -k l ${${ZSH_VERSION##3.0*}:+-tn}
I.e., complete from $l in the first word, otherwise complete file names.
This all works fine as long as I never press anything but TAB for completion;
it even starts up menu-selection properly based on my other styles, etc.
However, if at any point after the first TAB, I press ^X? (_complete_debug)
instead, I get command completion (which usually means a menu-select with
2198 choices, but sometimes it just asks if I really want to see all 2198
possibilities).
I would just write this off as a new/old completion incompatibility if not
for the fact that it differs depending on the widget used to activate the
completion. And if I replace the `compcall' with `compadd $l' then it works
(except for not completing files) with any combination of TAB and ^X?.
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.brasslantern.com
Messages sorted by:
Reverse Date,
Date,
Thread,
Author