summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mir/mir.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mir/mir.cpp b/src/mir/mir.cpp
index 5b3a705d..22a05276 100644
--- a/src/mir/mir.cpp
+++ b/src/mir/mir.cpp
@@ -32,7 +32,14 @@ namespace MIR {
os << "]";
),
(StaticString,
- os << "\"" << e << "\"";
+ os << "\"";
+ for(auto v : e) {
+ if( ' ' <= v && v < 0x7F && v != '"' && v != '\\' )
+ os << v;
+ else
+ os << "\\u{" << FMT(::std::hex << (unsigned int)v) << "}";
+ }
+ os << "\"";
),
(Const,
os << e.p;