From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2654 invoked from network); 25 May 2000 15:03:34 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 25 May 2000 15:03:34 -0000 Received: (qmail 3400 invoked by alias); 25 May 2000 15:03:27 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 11579 Received: (qmail 3393 invoked from network); 25 May 2000 15:03:27 -0000 Message-ID: <392D40B6.A2FC0DA8@u.genie.co.uk> Date: Thu, 25 May 2000 16:03:18 +0100 From: Oliver Kiddle X-Mailer: Mozilla 4.73 [en] (Win95; I) X-Accept-Language: en MIME-Version: 1.0 To: Zsh workers Subject: PATCH: use argument sets style in _compdef and _zpty; Re: FD_CLOEXEC Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 doesn't exclude all the other options (apart from -b) zpty -e - does work though and % zpty -w l _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