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

Re: surprise with echo

On 12/19/2014 09:08 PM, Lawrence Velázquez wrote:
You still don't understand what's going on. The expansion only results in a null result *if the array itself is empty*. Null *elements* do not produce the same behavior.

Yes, I understand it, I just spoke poorly.

Agreed. That's why enabling RC_EXPAND_PARAM by default should never happen.

I'd say that if it worked the way Kurtis showed that it's 'supposed' to work
then that would be the best of all possible worlds.  But it's just my 1/2
cent, I don't value my own opinion on this beyond that.
OTOH Bart just showed how the surprise can be avoided so ....
> It's only a surprise if you enable the option without understanding what it does first.

Too true.

>clang -I${include_dirs} test.c What would be the point of this expanding to "clang -I test.c"? It seems entirely reasonable to drop that word entirely and expand to "clang test.c", which is what actually happens. vq Well, whatever more experienced people think. I have no skin in the issue, but my intuitive sense of it is than a 'nothing' should just be nothing, but it shouldn't go killing things that are not nothing. It's probably not debatable, and it doesn't matter anyway. Especially if there are other examples of that sort of thing, then it might not be considered a surprise. But if that's the only place where it happens, then I'd say it's questionable. That expansion is sure cool, but I don't think it should kill entire strings: echo "what's wrong with this string? $@", especially since it leaves it alone if we use " $* ". Dunno. All I can say is that rc itself seems to agree with me.

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