[css3-syntax] EOF and } in at-rule preludes and selectors

Hi,

A few edge cases:

* EOF in selector mode should be a parse error (a {} block is missing)
* EOF in at-rule prelude should be like ';'. A parse error for 
declarations-filled or rule-filled at-rules, but not for other at-rules:

data:text/html,<style>@import "data:text/css,body{background:green"

In the example above the @import rule is valid even though it ends with 
EOF rather than ';'

* '}' in either mode should be like EOF, but *only* if this is nested in 
a matching '{' block such as @media {
* An unpaired '}' in a top-level selector or at-rule prelude should be 
like ']'. It�s preserved token as far as Syntax is concerned, it�s only 
invalid in Selectors, MQ, etc.


Maybe this last distinction is what "If the stack of open rules has 
three or more items on it, �" was about?


-- 
Simon Sapin

Received on Tuesday, 29 January 2013 22:33:16 UTC