Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: RC_EXPAND_PARAM bug



On Jul 30,  2:51am, Zoltan Hidvegi wrote:
} Subject: Re: RC_EXPAND_PARAM bug
}
} If `a' is empty, you want $^a/* expand to nothing, otherwise you would
} get the list of files in the root directory which you do not want.
} Such tricks are used in several zsh scripts I guess, and this is the
} preferable behaviour.  And it always worked this way, that's the point
} where there is not difference between versions.

That's fine, then.

} One might require the evaluation of the suffix even if it is discarded
} later.  Do you think it is preferable?

I think perhaps it is, especially if the suffix contains arithmetic or
command substitutions that might have side effects.

} > What does the real "rc" shell do?
} 
} I do not think this has anything to do with rc.

I'm pretty sure that it does.  All the RC_ options are things that "rc"
does, just like the CSH_ options are things CSH_ does, and KSH_, etc.
I believe Paul originally named all the options that were borrowed from
other shells by that convention.

} > } It looks illogical. Either the latter should be 'ax b1x ay b1y' or the
} > } former 'a1x b1x y'. 
} > 
} > I agree with Andrej on that.  If you're going to map over lists, you
} > have to map over them in the prefix too, not just in the suffix.
} > 
} > However, I don't like the behavior of (3), i.e. that when ${x} is a list
} > then the word break interrupts the rc-expansion.  I'd prefer that the
} > expansion proceed across the suffix in the same way regardless of whether
} > x is an array or a string, and then introduce the word breaks at the end.
} 
} I do not understand exatly what you mean, but I'm leaning towards option
} 3.

Consider:

a=(a b)
c="c d"
e=(e f)

${^a}${c}${^e}	-->	"ac de" "bc de" "ac df" "bc df"

Now:

c=(c d)

Option 2:	${^a}${c}${^e}	-->	ac de bc de ac df bc df
Option 3:	${^a}${c}${^e}	-->	ac bc de df

I like the symmetry between (2) and the case where c is a string.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com



Messages sorted by: Reverse Date, Date, Thread, Author