Re: [csswg-drafts] [css-values-5][various] Better handling of arguments with commas (#9539)

About this [recent change](https://github.com/w3c/csswg-drafts/commit/811d2a0caa828c283d887a307cb166a57592ace4):

  > When a functional notation is parsed, initially [...] any comma-containing productions are not allowed to contain `<comma-token>`s [...]

I am not sure if this is an oversight: as [pointed above](https://github.com/w3c/csswg-drafts/issues/9539#issuecomment-1999808636) by Oriol, it is missing an exception for [`env()`](https://drafts.csswg.org/css-env-1/#funcdef-env) and [`var()`](https://drafts.csswg.org/css-variables-2/#funcdef-var). I am not sure about [`attr()`](https://drafts.csswg.org/css-values-5/#funcdef-attr), [`param()`](https://drafts.csswg.org/css-link-params-1/#typedef-link-param) and [`paint()`](https://drafts.css-houdini.org/css-paint-api-1/#funcdef-paint).

I think it should also not apply for the functional notation used in [`<general-enclosed>`](https://drafts.csswg.org/css-values-4/#typedef-general-enclosed) and [`<pseudo-class-selector>`](https://drafts.csswg.org/selectors-4/#typedef-pseudo-class-selector).

---

Fwiw, after re-reading them, the paragraph quoted in my previous comment and its new version, are no longer confusing: *in the grammar* includes any sub-production. Gradient grammars make this obvious (`<options>, <color-stop-list>`).

However, I would still clarify *in the grammar **of the current input level*** or with an example like `min(0; max(1, 2))`.

---

I presume the comma ellision rules should also apply when commas are replaced with semicolons.

In #8387, I was told that there is no exception in `attr()` but I am not quite clear on why `--optional-block-padding: attr(data-padding,)` should be invalid, and now also why leading/adjacent/trailing commas or semicolons would be invalid in the new subsitution functions taking `<whole-value>` or `<declaration-value>?`.

-- 
GitHub Notification of comment by cdoublev
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9539#issuecomment-2242416575 using your GitHub account


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

Received on Monday, 22 July 2024 08:45:40 UTC