Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: PATCH: Re: expansion
- X-seq: zsh-workers 11943
- From: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: Re: PATCH: Re: expansion
- Date: Fri, 16 Jun 2000 13:22:10 +0200 (MET DST)
- In-reply-to: "Bart Schaefer"'s message of Thu, 15 Jun 2000 15:32:41 +0000
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
Bart Schaefer wrote:
> On Jun 15, 5:15pm, Sven Wischnowsky wrote:
> } Subject: Re: PATCH: Re: expansion
> }
> } > a(<tab> and you will get '_expand:78: bad pattern: a(' because of the
> } > lack of a closing bracket.
> }
> } It doesn't anymore, (e) is silent nowadays. By using eval we could get
> } that, though (that's why I said `careful').
>
> Something like this:
>
> eval exp\=\( ${${(q)exp}:gs/\\{/{/:gs/\\}/}/} \)
>
> I haven't figured out where the right place to put that is, though. I
> tried a couple of different spots in _expand and they both caused brace
> *completion* to stop working, even though the word on the line didn't
> change.
What's going on here? With -f:
% a='a{b,c}d'
% b=( ${${(q)a}:gs/\\{/{/:gs/\\}/}/} )
% echo $b
a{b,c}d # OK
% setopt braceccl
% b=( ${${(q)a}:gs/\\{/{/:gs/\\}/}/} )
% echo $b
a,d abd acd
Oops. (Yes, works with just `echo ${${(q)a}...}', too.)
Aha! It's the `{' and `}' in the replacements strings. They get
tokenized by the lexer, etc. etc.
Urgh. How... What... Where...
Bye
Sven
--
Sven Wischnowsky wischnow@xxxxxxxxxxxxxxxxxxxxxxx
Messages sorted by:
Reverse Date,
Date,
Thread,
Author