Reported by hostep at https://github.com/wikimedia/less.php/issues/107:
[…] I now just ran into another problem [in Magento], it works on less.php v4.2.0, but not on the latest master branch and it seems to be caused by this change: a34ce2a (https://gerrit.wikimedia.org/r/c/mediawiki/libs/less.php/+/1003506)
Here's how to reproduce it (it's quite big, but it can probably be narrowed down much further):
@message-error-icon: '\e61f'; @message-error-icon__color-inner: red; @message-error-icon__color-lateral: white; @message-error-icon__background: red; @message-error-icon__top: 10; @message-error-icon__right: 10; @message-error-icon__bottom: 10; @message-error-icon__left: 10; @message-icon__font-size: 24px; @message-icon__font-line-height: 1; @icon-font: 'luma-icons'; @icon-font__vertical-align: middle; ._lib-icon-font( @_icon-font-content, @_icon-font, @_icon-font-size, @_icon-font-line-height, @_icon-font-color, @_icon-font-margin, @_icon-font-vertical-align ) { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; display: inline-block; font-weight: normal; overflow: hidden; speak: none; text-align: center; } .lib-message-icon-lateral(@_message-type: info, @_message-position: right) { @_message-icon-position: @_message-position; @_message-icon: "message-@{_message-type}-icon"; @_message-icon-color: "message-@{_message-type}-icon__color-lateral"; @_message-icon-background: "message-@{_message-type}-icon__background"; @_message-icon-top: "message-@{_message-type}-icon__top"; @_message-icon-right: "message-@{_message-type}-icon__right"; @_message-icon-bottom: "message-@{_message-type}-icon__bottom"; @_message-icon-left: "message-@{_message-type}-icon__left"; ._lib-message-icon-lateral( @_message-icon-position, @@_message-icon, @@_message-icon-color, @@_message-icon-background, @@_message-icon-top, @@_message-icon-left, @@_message-icon-bottom, @@_message-icon-right ); } ._lib-message-icon-lateral( @_message-icon-position, @_message-icon, @_message-icon-color, @_message-icon-background, @_message-icon-top, @_message-icon-left, @_message-icon-bottom, @_message-icon-right ) { > *:first-child { &:after { ._lib-icon-font( @_icon-font-content: @_message-icon, @_icon-font: @icon-font, @_icon-font-size: @message-icon__font-size, @_icon-font-line-height: @message-icon__font-line-height, @_icon-font-color: @_message-icon-color, @_icon-font-margin: (-@message-icon__font-size/2) 0 0, @_icon-font-vertical-align: @icon-font__vertical-align ); } } } .example-message-2 { .lib-message-icon-lateral(error, right); }Error output:
PHP Fatal error: Uncaught Less_Exception_Chunk: ParseError: Unexpected input in test3.less on line 73, column 14 71| @_icon-font-margin: (-@message-icon__font-size/2) 0 0, 72| @_icon-font-vertical-align: @icon-font__vertical-align 73| ); 74| } 75| } 76| } in vendor/wikimedia/less.php/lib/Less/Parser.php:632 Stack trace: #0 vendor/wikimedia/less.php/lib/Less/Parser.php(588): Less_Parser->GetRules('/Volumes/Projec...') #1 vendor/wikimedia/less.php/lib/Less/Parser.php(453): Less_Parser->_parse('/Volumes/Projec...') #2 test.php(12): Less_Parser->parseFile('/Volumes/Projec...', '') #3 {main} thrown in vendor/wikimedia/less.php/lib/Less/Parser.php on line 632Expected output:
.example-message-2 > *:first-child:after { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; display: inline-block; font-weight: normal; overflow: hidden; speak: none; text-align: center; }