Re: [css3-conditional] @supports "not(" without space

On Wed, Dec 5, 2012 at 6:20 AM, Simon Pieters <simonp@opera.com> wrote:
> Hi,
>
> Are these two supposed to be equivalent?
>
> @supports (not (foo: bar)) { }
> @supports (not(foo: bar)) { }
>
> heycam says[1] that not( is tokenized into a FUNCTION and thus
> general_enclosed will match instead of supports_negation.
>
> supports_negation's grammar has S* rather than S (I think it was S in an
> earlier version?), suggesting that one should be able to omit the space.
>
> To me, this smells like a spec bug. If the space is supposed to be optional,
> it should parse into supports_negation when the space is absent. If not, the
> grammar for supports_negation should say S instead of S*.
>
> [1] https://bugzilla.mozilla.org/show_bug.cgi?id=816045#c10

The space *is* technically optional.  heycam is right that "not("
always parses into a FUNCTION token, but "not/**/(" parses into IDENT
(.

~TJ

Received on Wednesday, 5 December 2012 17:28:52 UTC