- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Tue, 28 May 2013 19:05:58 -0700
- To: Simon Sapin <simon.sapin@exyr.org>
- Cc: www-style list <www-style@w3.org>
On Sat, May 25, 2013 at 8:11 PM, Simon Sapin <simon.sapin@exyr.org> wrote: > In a bunch of places, the work "token" seems to have been accidentally > removed when switching to the 〈〉 notation. For example: "Emit a 〈(〉." That was intentional, just like how we talk about "return the <string>", not "return the <string> value". The few places where the word "token" is still around are a mistake. > §2 > > Each declaration […] finished with a semicolon. > > → Declarations are separated by semicolons. > This makes a difference for the last declaration of a block. > (If not applying this change, s/finished/finishes/) Accepted your change. > They can have CSS values following their name, > but they end with a {}-wrapped block, similar to a rule. > > s/rule/qualified rule/ ? > Same in the next sentence. Fixed. > §3, §3.1 > > User agents must use the parsing rules described in this > specification to generate the CSSOM trees from text/css resources. > > The output is a CSSStyleSheet object. > > Is Syntax expected to gain another section that describes how to build > a CSSOM tree? If not remove mentions of CSSOM here. Hm, maybe. I should discuss this with zcorpan and see how much needs to be defined. > §3.2 > > The stream of Unicode code points […] will be initially seen > by the user agent as a stream of bytes > > s/will/may/ > Eg. for HTML <style> elements, the CSS parser gets text nodes’ parsed > Unicode value from the HTML parser, but never sees bytes. Fixed. > §4.2 > > This section should define "character" as a single Unicode codepoint. > (Other CSS modules such as Text may have a different definition.) > > Now that "non-ASCII" starts at U+0080, "non-printable" should be changed > to stop at U+007F and not include U+0080 to U+009F. > > Also, "non-printable" should include U+000B LINE TABULATION in order > to match CSS 2.1’s definition of unquoted URL token. > > Note that U+000D CARRIAGE RETURN and U+000C FORM FEED are not > included in this definition, as they are removed from the stream > during preprocessing. > > s/removed from the stream/converted to U+000A LINE FEED/ > And link "preprocessing" to the relevant section. Done. > §4.3.1 > > U+0023 NUMBER SIGN (#) > If the next three input characters would start an identifier > or would start a number, create a 〈hash〉 token > > This isn’t right, as it creates a hash tokens for these: > #.1 #+1 #+.1 > Instead, you want "If the next input character is a name character > or the next two input character are a valid escape, create a 〈hash〉 token" Ah, indeed. Fixed. > In the data state, U+002B PLUS SIGN (+) and U+002E FULL STOP (.) > do the same thing and could be merged. > Or do you prefer keeping codepoint order? I keep codepoint order, at least for the data state. It's big enough that maintaining that order keeps it easier to read, I think. > §4.3.7. Ident state > > "〈input〉" looks like a token type but maybe shouldn’t? Huh, that must be an old bug. Fixed. > §4.3.11. Number-end state > > This section could be simplified by directy checking "starts with an > identifier" and not special-case name-start, \ and - Done. > §4.3.18. Bad-URL state > > EOF > This is a parse error. > > This is probably not needed: whatever condition had the state machine > switch to the bad-URL state was already a parse error. You're right. Removed. > U+005C REVERSE SOLIDUS > > This doesn’t do anything. It could be removed and let the "anything else" > clause do its job. Nope; it prevents an escaped ) character from ending the bad-url. > Additionally, section 3.2.1. "Preprocessing the input stream" is relevant > even when we’re parsing from Unicode text (eg. text nodes in an HTML <style> > element) rather than bytes, and therefore should not be under 3.2. "The > input byte stream". Lifted it up to 3.3. ~TJ
Received on Wednesday, 29 May 2013 02:06:44 UTC