On Mon, Sep 14, 2015 at 9:53 PM, Manuel Rüger <mr...@gentoo.org> wrote:
> Please don't add any more syntactic sugar to dependency strings.
> People might become confused about stuff like this:
>
> =cat/foo-1.3.1_rc3_p20130829-r42+[!a=,!b?,c(+)]:3=

=cat/foo-xyz+ is only one of the forms (we can still consider ~> or
something else) but anyway, if we don't use another operator, would *
no longer match strings like a glob matcher?  For example,
`=cat/foo-5.2015*` would no longer match cat/foo-5.20150102.  On the
other hand if we still allow to match like glob but have a workaround
by allowing expressions like `=cat/foo-5.10.*`, we would now have to
use 4 lines in order to accurately specify the targets:
`=cat/foo-5.10`, `=cat/foo-5.10.*`, `=cat/foo-5.10-*` and
`=cat/foo-5.10_*`.  So should we no allow [.-_]* so we can reduce them
to two?

(Come to think of it, the @ operator is already used by sets so we
can't have @cat/foo-5.10.  But we can have =cat/foo-5.10@.  Or
=cat/foo-5.10~.  But the latter could be found ambiguous or
misinforming since ~cat/pkg-5.10 is already thought to only target
revisions.)

> Is there any real need to express this in a single line except for
> saving a single line?

There are areas where only a single expression is applicable like on a
CLI query, or on package.* rules where applying or disabling a flag or
keyword on specific version and unapplying or enabling the same flag
or keyword on excluded versions may not always be sensible.  Having to
use more than a single expression adds noise and complexity.

Reply via email to