correct contextual quoting of chars
This commit is contained in:
@@ -972,10 +972,10 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn print_char(&mut self, c: char)
|
fn print_char(&mut self, is_quoted: bool, c: char)
|
||||||
{
|
{
|
||||||
if non_quoted_token(once(c)) {
|
if non_quoted_token(once(c)) {
|
||||||
let c = char_to_string(self.quoted, c);
|
let c = char_to_string(false, c);
|
||||||
|
|
||||||
push_space_if_amb!(self, &c, {
|
push_space_if_amb!(self, &c, {
|
||||||
self.append_str(c.as_str());
|
self.append_str(c.as_str());
|
||||||
@@ -985,10 +985,10 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
|
|||||||
|
|
||||||
if self.quoted {
|
if self.quoted {
|
||||||
result.push('\'');
|
result.push('\'');
|
||||||
result += &char_to_string(self.quoted, c);
|
result += &char_to_string(is_quoted, c);
|
||||||
result.push('\'');
|
result.push('\'');
|
||||||
} else {
|
} else {
|
||||||
result += &char_to_string(self.quoted, c);
|
result += &char_to_string(is_quoted, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
push_space_if_amb!(self, &result, {
|
push_space_if_amb!(self, &result, {
|
||||||
@@ -1036,7 +1036,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
|
|||||||
self.append_str(&format!("{}", c as u32));
|
self.append_str(&format!("{}", c as u32));
|
||||||
}
|
}
|
||||||
Constant::Char(c) => {
|
Constant::Char(c) => {
|
||||||
self.print_char(c);
|
self.print_char(self.quoted, c);
|
||||||
}
|
}
|
||||||
Constant::CutPoint(b) => {
|
Constant::CutPoint(b) => {
|
||||||
self.append_str(&format!("{}", b));
|
self.append_str(&format!("{}", b));
|
||||||
@@ -1113,10 +1113,10 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
for c in iter {
|
for c in iter {
|
||||||
self.print_char('.');
|
self.print_char(self.quoted, '.');
|
||||||
self.push_char('(');
|
self.push_char('(');
|
||||||
|
|
||||||
self.print_char(c);
|
self.print_char(self.quoted, c);
|
||||||
self.push_char(',');
|
self.push_char(',');
|
||||||
|
|
||||||
char_count += 1;
|
char_count += 1;
|
||||||
@@ -1145,7 +1145,7 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
|
|||||||
let mut byte_len = 0;
|
let mut byte_len = 0;
|
||||||
|
|
||||||
for c in iter {
|
for c in iter {
|
||||||
self.print_char(c);
|
self.print_char(false, c);
|
||||||
self.push_char(',');
|
self.push_char(',');
|
||||||
|
|
||||||
byte_len += c.len_utf8();
|
byte_len += c.len_utf8();
|
||||||
|
|||||||
Reference in New Issue
Block a user