- From: Florian Rivoal <florian@rivoal.net>
- Date: Tue, 14 Jun 2016 11:34:36 +0900
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: Mark Brown <mark@mercurylang.org>, "www-style@w3.org" <www-style@w3.org>
> > On Jun 14, 2016, at 04:13, Tab Atkins Jr. <jackalmage@gmail.com> wrote: > > On Sat, Jun 11, 2016 at 12:54 AM, Mark Brown <mark@mercurylang.org> wrote: >> On Sat, Jun 11, 2016 at 5:42 PM, Daniel Glazman >> <daniel.glazman@disruptive-innovations.com> wrote: >>> On 11/06/2016 09:34, Sebastian Zartner wrote: >>> >>>> Coming back to this option, why is nesting the @else rule that bad? Sure, in >>>> other languages you have it outside of the first block, but it clearly >>>> connects both visually and avoids the problems of a dangling @else >>>> block. >>> >>> Because an invalid MQ would trash the whole thing including the nested >>> @else, per error handling rules... >> >> Has anyone considered something like >> >> @switch { >> @case C1 { ... } >> @case C2 { ... } >> @default { ... } /* optional */ >> } >> >> ? > > That's identical to the current proposal, just with an extra level of > nesting. I don't believe the current proposal is error-prone enough > to justify adding an additional rule. (People don't screw up their > if-else chains regularly in other languages.) There would be some benefit if you compare these two things @media screen { /*foo*/ } @when media(width < 400px) { /*bar*/ } @else { /*tweedledee*/ } vs @media screen { /*foo*/ } @switch { @case media(width < 400px) { /*bar*/ } @default { /*tweedledee*/ } } They do exactly the same, but the later one is more robust to naive removal (via javascript or otherwise) of the conditional enclosing "bar". In the @when case, the @else gets mistakenly attached to the @media rule, while in the switch case it doesn't. Not that I am convinced this is worth the increase in verbosity, but it does have this advantage. - Florian
Received on Tuesday, 14 June 2016 02:35:02 UTC