From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3145 invoked from network); 4 Dec 2008 12:29:00 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 4 Dec 2008 12:29:00 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 29617 invoked from network); 4 Dec 2008 12:28:50 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 4 Dec 2008 12:28:50 -0000 Received: (qmail 8734 invoked by alias); 4 Dec 2008 12:28:41 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 26112 Received: (qmail 8722 invoked from network); 4 Dec 2008 12:28:41 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 4 Dec 2008 12:28:41 -0000 Received: from uucp.gnuu.de (uucp.gnuu.de [83.246.114.63]) by bifrost.dotsrc.org (Postfix) with ESMTP id 063D380525B8 for ; Thu, 4 Dec 2008 13:28:24 +0100 (CET) Received: by uucp.gnuu.de (Postfix, from userid 10) id AD56DEC05A; Thu, 4 Dec 2008 13:28:24 +0100 (CET) X-DKIM: Sendmail DKIM Filter v2.5.2 uucp.gnuu.de AD56DEC05A DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=gnuu.de; s=banki; t=1228393704; i=@alea.gnuu.de; bh=+wt+xztDYQYeqv6Y2/LE6BxSNzTtmL1Hs qQMtRl75ZI=; h=To:From:Subject:Date:Message-ID:References: Mime-Version:Content-Type:Content-Transfer-Encoding:Sender; b=k85L ueAtf0AkXqu0/C2Lj132zKNw8ygoFepdHU9UwOS/X/1xTFybTxXGYQxtvaX8M8X6xZm 0PsSO7BKksm4rvBFdwZwyIisfb8j8WGrE0BCrbwBzYfrzSHJ9yolBW45Cx/4PDYr21b IHXM1yDOIVTJj6Q0vi8jFK2lSiutQ75iE= Received: from news by alea.gnuu.de with local (Exim 4.63) (envelope-from ) id 1L8CSC-0005W4-RZ for zsh-workers@sunsite.dk; Thu, 04 Dec 2008 12:33:09 +0100 To: zsh-workers@sunsite.dk Path: not-for-mail From: =?UTF-8?Q?J=C3=B6rg?= Sommer Newsgroups: local.mailinglist.zsh Subject: Re: Completion of abbrev. paths with variables doesn't work Date: Thu, 4 Dec 2008 11:33:08 +0000 (UTC) Message-ID: References: <081129205441.ZM6616@torch.brasslantern.com> <081203084053.ZM3361@torch.brasslantern.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: alea.gnuu.de 1228390388 21198 192.168.0.5 (4 Dec 2008 11:33:08 GMT) X-Complaints-To: usenet@alea.gnuu.de User-Agent: slrn/pre1.0.0-2 (Linux) Sender: news X-Virus-Scanned: ClamAV 0.92.1/8720/Thu Dec 4 04:09:56 2008 on bifrost X-Virus-Status: Clean Hi Bart, Bart Schaefer wrote: > On Dec 3, 2:39pm, Jorg wrote: >} >} Bart Schaefer wrote: >} >} ibook% echo $ZSH_VERSION >} >} 4.3.9-dev-0-cvs1115 >} > >} > This works for me in zsh 4.3.9-dev-1 as of 2008-11-27. Can you still >} > reproduce the problem? >} >} Yes, with 4.3.9-dev-1-cvs1127 > > I just notice the word "ibook" in the prompt. This is happening on a Mac? > Does the case of the path in the variable match the case of the path on > the filesystem? It may be that case insentitive globbing is not working > with the path expanded from the variable. > > Beyond that suggestion I'm at the end of my immediate usefulness. Get > some output from _complete_debug (ctrl-x question-mark). I did it with and without glob_complete. This is the diff: #v+ --- /tmp/zsh-completion-debug 2008-12-04 12:27:17.502975278 +0100 +++ /tmp/zsh-completion-noglobcomplete-debug 2008-12-04 12:26:56.330974724 +0100 @@ -337,15 +337,14 @@ +_path_files:196> zstyle -a :completion::complete:echo::paths accept-exact accex +_path_files:197> zstyle -a :completion::complete:echo:: fake-files fake +_path_files:199> zstyle -s :completion::complete:echo:: ignore-parents ignpar -+_path_files:201> [[ -n '*' && -z '' && '$d/mu/ma' == (|*[^\$])\([^\|\~]##\) || '' == (|*[^\$])\([^\|\~]##\) ]] ++_path_files:201> [[ -n '' ]] +_path_files:231> pre='$d/mu/ma' +_path_files:232> suf='' +_path_files:233> opre='$d/mu/ma' +_path_files:234> osuf='' +_path_files:235> orig='$d/mu/ma' +_path_files:236> eorig='$d/mu/ma' -+_path_files:238> [[ automenu-unambiguous == (*menu|[0-9]*) || -n '' || -n '*' && '$d/mu/ma' != (|*[^\\])[][*?#~^\|\<\>]* ]] -+_path_files:240> menu=yes ++_path_files:238> [[ automenu-unambiguous == (*menu|[0-9]*) || -n '' || -n '' ]] +_path_files:241> [[ -n '' ]] +_path_files:245> Mopts=( -M 'r:|/=* r:|=*' ) +_path_files:250> [[ '$d/mu/ma' == [^][*?#^\|\<\>\\]#(`[^`]#`|\$)*/* && '' != ' ]] @@ -429,16 +428,16 @@ +_path_files:601> tmp2='' +_path_files:602> [[ -n '$d/' ]] +_path_files:603> compquote -p tmp2 tmp1 -+_path_files:611> [[ -z '' && '*' == \* && -n '' ]] ++_path_files:611> [[ -z '' && '' == \* ]] +_path_files:621> [[ -z automenu-unambiguous ]] +_path_files:622> zstyle -t :completion::complete:echo::paths expand suffix -+_path_files:623> [[ -z '' && -n '' || -z '*' || /ma != */* || ma == (|*[^\\])[][*?#~^\|\<\>]* ]] -+_path_files:667> [[ mu/ma == */* ]] -+_path_files:668> tmp4=( -Qf -J -default- -p '$d/' -s '' -W /usr/share/doc/ -M 'r:|/=* r:|=*' ) -+_path_files:672> [[ -z '' ]] -+_path_files:673> i=mutt/manual.txt.gz -+_path_files:674> tmpdisp=( mutt ) -+_path_files:675> _list_files tmpdisp /usr/share/doc/ ++_path_files:623> [[ -z '' && -n '' || -z '' ]] ++_path_files:629> (( tmp4 )) ++_path_files:629> zstyle -t :completion::complete:echo::paths ambiguous ++_path_files:631> [[ mu/ma == */* ]] ++_path_files:632> [[ -z '' ]] ++_path_files:635> tmp1=( mutt mutt-patched ) ++_path_files:636> _list_files tmp1 /usr/share/doc/ +_list_files:11> local stat f elt what dir +_list_files:12> local -a stylevals +_list_files:13> integer ok @@ -446,24 +445,14 @@ +_list_files:16> listopts=( ) +_list_files:18> zstyle -a :completion::complete:echo:: file-list stylevals +_list_files:18> return 1 -+_path_files:676> compadd -Qf -J -default- -p '$d/' -s '' -W /usr/share/doc/ -M 'r:|/=* r:|=*' -s /manual.txt.gz - mutt -+_path_files:673> i=mutt-patched/manual.txt.gz -+_path_files:674> tmpdisp=( mutt-patched ) -+_path_files:675> _list_files tmpdisp /usr/share/doc/ -+_list_files:11> local stat f elt what dir -+_list_files:12> local -a stylevals -+_list_files:13> integer ok -+_list_files:15> listfiles=( ) -+_list_files:16> listopts=( ) -+_list_files:18> zstyle -a :completion::complete:echo:: file-list stylevals -+_list_files:18> return 1 -+_path_files:676> compadd -Qf -J -default- -p '$d/' -s '' -W /usr/share/doc/ -M 'r:|/=* r:|=*' -s /manual.txt.gz - mutt-patched ++_path_files:637> compadd -Qf -J -default- -p '$d/' -s /ma -W /usr/share/doc/ -M 'r:|/=* r:|=*' -a tmp1 +_path_files:696> tmp4=- +_path_files:697> break +_path_files:741> [[ -z - ]] +_path_files:804> [[ _matcher_num -eq 1 ]] +_path_files:805> zstyle -t :completion::complete:echo::paths expand prefix +_path_files:813> [[ nm -ne 'compstate[nmatches]' ]] ++_files:117> ret=0 +_files:114> _next_label all-files expl file +_next_label:3> local __gopt __descr __spec +_next_label:5> __gopt=( ) @@ -471,60 +460,53 @@ +_next_label:8> comptags -A all-files curtag __spec +_next_label:25> return 1 +_files:122> (( ret )) -+_files:112> _tags -+_tags:3> local prev -+_tags:10> [[ '' == -- ]] -+_tags:15> (( 0 )) -+_tags:67> comptags -N ++_files:122> break +_files:129> [[ '*' == \* ]] +_files:129> return ret -+_default:21> [[ -o magicequalsubst ]] -+_default:26> return 1 ++_default:15> return 0 ++_dispatch:82> ret=0 +_dispatch:84> _compskip='' +_dispatch:86> return ret ++_complete:117> ret=0 +_complete:142> _compskip='' +_complete:144> return ret -+_main_complete:165> (( _matcher_num++ )) -+_main_complete:167> [[ -n '' ]] -+_main_complete:169> (( _completer_num++ )) -+_main_complete:125> tmp=_ignored -+_main_complete:127> [[ -n '' ]] -+_main_complete:129> [[ _ignored == *:-* ]] -+_main_complete:132> [[ _ignored == *:* ]] -+_main_complete:136> _completer=ignored -+_main_complete:139> curcontext=:ignored:: -+_main_complete:140> zstyle -t :completion::ignored::: show-completer -+_main_complete:143> zstyle -a :completion::ignored::: matcher-list _matchers -+_main_complete:144> _matchers=( '' ) -+_main_complete:146> _matcher_num=1 -+_main_complete:147> _matcher='' -+_main_complete:148> _c_matcher= -+_main_complete:149> [[ '' == +* ]] -+_main_complete:152> _matcher='' -+_main_complete:155> _comp_mesg='' -+_main_complete:156> [[ -n '' ]] -+_main_complete:161> _ignored -+_ignored:5> [[ _matcher_num -gt 1 || 0 -eq 0 ]] -+_ignored:5> return 1 -+_main_complete:165> (( _matcher_num++ )) -+_main_complete:167> [[ -n '' ]] -+_main_complete:169> (( _completer_num++ )) ++_main_complete:162> ret=0 ++_main_complete:163> break 2 +_main_complete:172> curcontext=::: +_main_complete:173> [[ '' == keep ]] -+_main_complete:179> nm=0 ++_main_complete:179> nm=2 +_main_complete:182> [[ '' == keep || nm -gt 1 ]] -+_main_complete:297> [[ nm -lt 1 && -n '' ]] -+_main_complete:300> [[ nm -eq 0 && -z '' && 2 -ne 0 && '' != keep ]] -+_main_complete:302> zstyle -s :completion:::::warnings format format ++_main_complete:183> [[ _last_nmatches -ge 0 ]] ++_main_complete:186> tmp=3 ++_main_complete:188> _menu_style=( '' '' ) ++_main_complete:190> [[ ambiguous == *list ]] ++_main_complete:194> [[ automenu-unambiguous == automenu-unambiguous ]] ++_main_complete:195> [[ -n automenu-unambiguous && -n '' ]] ++_main_complete:199> sel=( ) ++_main_complete:201> (( 0 )) ++_main_complete:217> sel=( ) ++_main_complete:219> (( 0 )) ++_main_complete:235> [[ -n '' || -n '' ]] ++_main_complete:239> [[ -n '' ]] ++_main_complete:241> [[ -n '' ]] ++_main_complete:248> [[ automenu-unambiguous == *menu* ]] ++_main_complete:249> [[ '' == 00 ]] ++_main_complete:250> [[ -n '' ]] ++_main_complete:252> [[ -n '' ]] ++_main_complete:258> [[ '' != 00 ]] ++_main_complete:259> sel=( ) ++_main_complete:261> (( 0 )) ++_main_complete:280> unset MENUSELECT ++_main_complete:283> [[ -n '' ]] +_main_complete:320> [[ '' == always || '' == ?* ]] +_main_complete:324> [[ '' == keep ]] +_main_complete:326> (( 0 )) +_main_complete:329> unset ZLS_COLORS +_main_complete:334> funcs=( ) +_main_complete:335> comppostfuncs=( ) -+_main_complete:340> _lastcomp=( list_lines 0 all_quotes '\' nmatches 0 pattern_match '*' restore auto context command vared '' unambiguous '' list_max 100 unambiguous_cursor 1 list ambiguous insert_positions '' unambiguous_positions '' exact '' to_end match last_prompt yes pattern_insert menu ignored 0 insert automenu-unambiguous ) -+_main_complete:341> _lastcomp[nmatches]=0 -+_main_complete:342> _lastcomp[completer]=ignored ++_main_complete:340> _lastcomp=( list_lines 1 all_quotes '\' nmatches 2 restore auto context command vared '' unambiguous '$d/mutt/ma' list_max 100 unambiguous_cursor 8 list ambiguous insert_positions 12:15 unambiguous_positions 7:10 exact '' to_end match last_prompt yes pattern_insert menu ignored 0 insert automenu-unambiguous ) ++_main_complete:341> _lastcomp[nmatches]=2 ++_main_complete:342> _lastcomp[completer]=complete +_main_complete:343> _lastcomp[prefix]='$d/mu/ma' +_main_complete:344> _lastcomp[suffix]='' +_main_complete:345> _lastcomp[iprefix]='' @@ -533,5 +515,5 @@ +_main_complete:348> _lastcomp[qisuffix]='' +_main_complete:349> _lastcomp[tags]=' all-files ' +_main_complete:351> return ret -+_complete_debug:15> integer 'ret=1' ++_complete_debug:15> integer 'ret=0' +_complete_debug:16> unsetopt xtrace #v- Schöne Grüße, Jörg. -- Alles, wovor wir Angst haben müssen, ist die Angst selbst. (Franklin D. Roosevelt)