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

Re: Feature request: a new warning option

On Wed, 9 Oct 2019 at 10:45, Roman Perepelitsa
<roman.perepelitsa@xxxxxxxxx> wrote:
> I myself am guilty of using `x && y || z` in place of a ternary
> and this leads to bugs that your proposed warning is meant to flag.
> However, if I were to enable this warning, I wouldn't be able to
> use `x && y || z` when it is the best tool for the job. Hence I'm
> leaning towards unlearning my current habbit and starting to use
> `if-else` more.
> What do you think?

I like the ternary-use of &&/||. I format the code as follows:

(( condition )) && \
    code || \

I even use the ((1)) addition to the code || often. However, I might
get onto the alternate syntax-way you've proposed, it looks nice.

As for the non-ternary, i.e. symmetric-and-still-correct use of &&/||
I would say: the code that is needy of using &&/|| in such a way can
skip this hypothetical new warning option. Covering 8 out of 10
functions with it is still a good result (this reminds me the previous
discussion we've had).

I in general am a very happy user of warn_create_global and I see how
much warning-options can give, hence the feature request. I however
don't use warn_nested_var, I'm now starting to wonder why, as even
that I've sometimes write code using variables from upper scope, the
"covering 8 out ouf 10 functions..." point would apply here too. It's
however a recent option, not forever-present like the
warn_create_global. I wonder if a very much compressed way of enabling
warn_nested_var only on shells that have it exists.

Sebastian Gniazdowski
News: https://twitter.com/ZdharmaI
IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin
Blog: http://zdharma.org

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