Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: use argument sets style in _compdef and _zpty; Re: FD_CLOEXEC
- X-seq: zsh-workers 11579
- From: Oliver Kiddle <opk@xxxxxxxxxxxxx>
- To: Zsh workers <zsh-workers@xxxxxxxxxxxxxx>
- Subject: PATCH: use argument sets style in _compdef and _zpty; Re: FD_CLOEXEC
- Date: Thu, 25 May 2000 16:03:18 +0100
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
Peter Stephenson wrote:
> I developed zftp under AIX, so it's just possible something funny is going
> on there. Maybe Oliver could check it at least compiles?
Firstly, Peter: I have recompiled with your zftp patch on AIX without
any problems. Judging by the AIX man pages, your patch is correct and it
was wrong before. I did a few basic tests of zftp and it all worked
fine. If you can think of a specific test which will cover your changed
code, I can try that.
Secondly, I have updated the compset and zpty completions to use the
argument sets thing. This showed up a couple of possible bugs:
zpty -e<tab> doesn't exclude all the other options (apart from -b)
zpty -e -<tab> does work though
and
% zpty -w l <tab>
_arguments:shift:297: shift count must be <= $#
I'm not sure that the latter one isn't the syntax being wrong in the
_arguments call in _zpty. It occurs with the previous _zpty so is
not related to the argument sets stuff.
Oliver
Index: Completion/Builtins/_compdef
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Builtins/_compdef,v
retrieving revision 1.5
diff -u -c -r1.5 _compdef
*** Completion/Builtins/_compdef 2000/05/05 13:38:46 1.5
--- Completion/Builtins/_compdef 2000/05/25 14:56:00
***************
*** 6,18 ****
_arguments -C -s \
'(-d)-a[make function autoloadable]' \
'(-d -p -P)-n[leave existing definitions intact]' \
- '(-a -n -p -P -k -K)-d[delete]:*:completed command:->ccom' \
- '(-n -d -P -k -K)-p[completion for command matching pattern]:completion function:->cfun:pattern' \
- '(-n -d -p -k -K)-P[as -p for commands without own completion]:completion function:->cfun:pattern' \
- '(-d -p -P -K)-k[define widget and key binding]:completion function:->cfun:style:->style:*:key' \
- '(-d -p -P -k)-K[define multiple widgets based on function]:*::: :->multi' \
':completion function:->cfun' \
! '*:commands: _command_names' && return 0
if [[ $state = multi ]]; then
case $(( CURRENT % 3 )) in
--- 6,23 ----
_arguments -C -s \
'(-d)-a[make function autoloadable]' \
'(-d -p -P)-n[leave existing definitions intact]' \
':completion function:->cfun' \
! '*:commands: _command_names' \
! - d \
! '(-a -n)-d[delete]:*:completed command:->ccom' \
! - p \
! '(-n)-p[completion for command matching pattern]:completion function:->cfun:pattern' \
! - P \
! '(-n)-P[as -p for commands without own completion]:completion function:->cfun:pattern' \
! - k \
! '-k[define widget and key binding]:completion function:->cfun:style:->style:*:key' \
! - K \
! '-K[define multiple widgets based on function]:*::: :->multi' && return 0
if [[ $state = multi ]]; then
case $(( CURRENT % 3 )) in
Index: Completion/Builtins/_zpty
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Builtins/_zpty,v
retrieving revision 1.5
diff -u -c -r1.5 _zpty
*** Completion/Builtins/_zpty 2000/05/05 13:38:46 1.5
--- Completion/Builtins/_zpty 2000/05/25 14:56:00
***************
*** 4,18 ****
typeset -A opt_args
_arguments -C -s \
! '(-d -w -r -L)-e[echo input characters]' \
! '(-d -w -r -L)-b[io to pseudo-terminal blocking]' \
! '(-e -b -w -r -L)-d[delete command]:*:name:->name' \
! '(-e -b -d -r -L)-w[send string to command]:name:->name:*:strings to write' \
! '(-e -b -d -w -L *)-r[read string from command]:name:->name:param:_parameters' \
! '(-e -b -d -w -r)-L[list defined commands as calls]' \
! '(-r)*::args:_normal' && return 0
if [[ $state = name ]]; then
list=( ${${(f)"$(zpty)"}#*\) } )
names=( ${list%%:*} )
if zstyle -T ":completion:${curcontext}" verbose; then
--- 4,27 ----
typeset -A opt_args
_arguments -C -s \
! '(-r)*::args:_normal' \
! - eb \
! '-e[echo input characters]' \
! '-b[io to pseudo-terminal blocking]' \
! - d \
! '-d[delete command]:*:name:->name' \
! - w \
! '-w[send string to command]:name:->name:*:strings to write' \
! - L \
! '-L[list defined commands as calls]' \
! - r \
! '(*)-r[read string from command]:name:->name:param:_parameters' && return 0
if [[ $state = name ]]; then
+ if ! zmodload -e zsh/zpty; then
+ _message "zpty module not loaded"
+ return 1
+ fi
list=( ${${(f)"$(zpty)"}#*\) } )
names=( ${list%%:*} )
if zstyle -T ":completion:${curcontext}" verbose; then
Messages sorted by:
Reverse Date,
Date,
Thread,
Author