[csswg-drafts] [css-mixins] `<dashed-function>` syntax seems invalid (#10558)

cdoublev has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-mixins] `<dashed-function>` syntax seems invalid ==
  > A [`<dashed-function>`](https://drafts.csswg.org/css-mixins-1/#typedef-dashed-function) is a functional notation whose function name starts with two dashes (U+002D HYPHEN-MINUS). Its syntax is:
  >
  > `--*() = --*( <declaration-value># )`

First, I think it should be `<dashed-function> = --*( <declaration-value># )`.

Second, the [CSS Value definition syntax](https://drafts.csswg.org/css-values-4/#value-defs) does not allow using `*` as a wildcard in a function's name.

Solutions I am thinking of:

  1. define the production rule as `informative`
  2. use syntax similar to [functional pseudo selector](https://drafts.csswg.org/selectors-4/#typedef-pseudo-class-selector): `<function-name> <declaration-value># ')'`

I prefer solution 1 because the syntax of solution 2 represents a list of tokens, whereas productions always represent a list of component values, because all entry points of the CSS parser consume component values from the input list of tokens: you do not match the input against `<function-name>`, then `<declaration-value>#`, then `<)-token>`, but against a function component value. Related: #7016.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/10558 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 12 July 2024 04:33:20 UTC