Skip to content

Commit

Permalink
Escape non-US-ASCII characters in SassException.toCssString() (#2143)
Browse files Browse the repository at this point in the history
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
  • Loading branch information
ntkme and nex3 committed Dec 8, 2023
1 parent cd798bf commit 4daf0b4
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
* Produce better output for numbers with complex units in `meta.inspect()` and
debugging messages.

* When generating CSS error messages to display in-browser, escape all code
points that aren't in the US-ASCII region. Previously only code points U+0100
LATIN CAPITAL LETTER A WITH MACRON were escaped.

### JS API

* Fix a bug where certain exceptions could produce `SourceSpan`s that didn't
Expand Down
4 changes: 2 additions & 2 deletions lib/src/exception.dart
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,12 @@ class SassException extends SourceSpanException {
.replaceAll("\r\n", "\n");
term_glyph.ascii = wasAscii;

// For the string comment, render all non-ASCII characters as escape
// For the string comment, render all non-US-ASCII characters as escape
// sequences so that they'll show up even if the HTTP headers are set
// incorrectly.
var stringMessage = StringBuffer();
for (var rune in SassString(toString(color: false)).toString().runes) {
if (rune > 0xFF) {
if (rune > 0x7F) {
stringMessage
..writeCharCode($backslash)
..write(rune.toRadixString(16))
Expand Down

0 comments on commit 4daf0b4

Please sign in to comment.