W3C home > Mailing lists > Public > www-style@w3.org > January 2013

Re: [css3-syntax] `}` in selector mode with three ore more open rules

From: Simon Sapin <simon.sapin@kozea.fr>
Date: Tue, 29 Jan 2013 01:00:23 +0100
Message-ID: <51071117.1060408@kozea.fr>
To: "Tab Atkins Jr." <jackalmage@gmail.com>
CC: www-style list <www-style@w3.org>
Le 29/01/2013 00:19, Tab Atkins Jr. a écrit :
> I couldn't figure out what I was trying to do with it.  Since the
> behavior in the spec is clearly nonsensical, and I can't figure out
> what I was trying to do, I can't fix it, and so I've just removed it.

At-rule-prelude mode has something similar.


> The other clause didn't make any sense either, so I've fixed it up to
> do the right thing - when you see a top-level } in a selector, it just
> throws away the style rule being constructed, switches to the parent
> rule's mode, and reprocesses the }.

This makes sense for a selector in a rule-filled at-rule, but for a 
top-level selector I think you get an infinite loop. Reprocess the } 
which falls in "anything else" in top-level mode which leads you back to 
selector mode on the same token.

In a top-level selector I think you just want to append the } token to 
the selector and leave to the selector parser to declare it invalid.

I think you can also get rid of the Next-block error mode and 
Next-block-or-statement error mode.

Also, EOF in selector or at-rule prelude mode should be a parse error + 
discard the current rule rather than finish parsing.

-- 
Simon Sapin
Received on Tuesday, 29 January 2013 00:00:47 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:21:04 GMT