summaryrefslogtreecommitdiff
path: root/scss/cssdefs.py
diff options
context:
space:
mode:
Diffstat (limited to 'scss/cssdefs.py')
-rw-r--r--scss/cssdefs.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/scss/cssdefs.py b/scss/cssdefs.py
index 79be7b4..6b4f5b7 100644
--- a/scss/cssdefs.py
+++ b/scss/cssdefs.py
@@ -449,7 +449,11 @@ escape_rx = re.compile(r"(?s)\\([0-9a-fA-F]{1,6})[\n\t ]?|\\(.)|\\\n")
def _unescape_one(match):
if match.group(1) is not None:
- return six.unichr(int(match.group(1), 16))
+ try:
+ return six.unichr(int(match.group(1), 16))
+ except ValueError:
+ return (r'\U%08x' % int(match.group(1), 16)).decode(
+ 'unicode-escape')
elif match.group(2) is not None:
return match.group(2)
else: