From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22959 invoked from network); 10 Jun 1999 14:50:29 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 10 Jun 1999 14:50:29 -0000 Received: (qmail 19412 invoked by alias); 10 Jun 1999 14:50:12 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 6576 Received: (qmail 19403 invoked from network); 10 Jun 1999 14:50:10 -0000 From: "Andrej Borsenkow" To: "ZSH workers mailing list" Subject: something strange with compset and/or _normal Date: Thu, 10 Jun 1999 18:49:26 +0400 Message-ID: <002401beb350$6f6ccef0$21c9ca95@mow.siemens.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 I try to complete after sudo; the relevant part (albeit clumsy) is if [[ $cmd -gt 0 ]] && compset -n $cmd then _normal where ``cmd'' is position of command to execute and is computed somewhere else. Unfortunately, that is what I get in log: + local comp + setopt localoptions nullglob rcexpandparam + unsetopt markdirs globsubst shwordsplit nounset ksharrays + compset -P 1 \= + [[ /t != */* ]] + (( 0 )) + set _complete _match + _complete + local comp name + [[ -n ]] + comp=_first + [[ ! -z _first ]] + _first + (( 0 )) + [[ command == command ]] + _normal + local comp command cmd1 cmd2 pat val name i ret=1 + command=sudo + [[ CURRENT -eq 1 ]] + [[ s == = ]] + [[ sudo == */* ]] + cmd1=sudo + cmd2=+ whence -p sudo + cmd2=/tools/bin/sudo + pat=zf* + val=_zftp + [[ sudo == zf* || /tools/bin/sudo == zf* ]] + name=sudo + comp=_sudo + [[ -z _sudo ]] + [[ -z _sudo ]] + [[ -z _sudo ]] + _sudo + emulate -L zsh + local -i i=1 cmd=0 + [[ 1 -lt 3 ]] + [[ 2 -gt 2 ]] + cmd=2 + break + [[ 2 -gt 0 ]] + compset -n 2 + _normal + local comp command cmd1 cmd2 pat val name i ret=1 + command=umount + [[ CURRENT -eq 1 ]] + [[ u == = ]] + [[ umount == */* ]] + cmd1=umount + cmd2=+ whence -p umount + cmd2=/usr/sbin/umount + pat=zf* + val=_zftp + [[ umount == zf* || /usr/sbin/umount == zf* ]] + name=umount + comp=_umount + [[ -z _umount ]] + [[ -z _umount ]] + [[ -z _umount ]] + _sudo Oops! Why is _sudo called instead of _umount? /andrej