correct write_canonical/2 bug
This commit is contained in:
@@ -298,7 +298,6 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn enqueue_op(&mut self, ct: ClauseType, fixity: Fixity) {
|
fn enqueue_op(&mut self, ct: ClauseType, fixity: Fixity) {
|
||||||
match fixity {
|
match fixity {
|
||||||
Fixity::Post => {
|
Fixity::Post => {
|
||||||
@@ -502,7 +501,11 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter>
|
|||||||
Constant::String(s) =>
|
Constant::String(s) =>
|
||||||
if self.machine_st.machine_flags().double_quotes.is_chars() {
|
if self.machine_st.machine_flags().double_quotes.is_chars() {
|
||||||
if !s.is_empty() {
|
if !s.is_empty() {
|
||||||
self.push_list();
|
if self.ignore_ops {
|
||||||
|
self.format_struct(2, clause_name!("."));
|
||||||
|
} else {
|
||||||
|
self.push_list();
|
||||||
|
}
|
||||||
} else if s.is_expandable() {
|
} else if s.is_expandable() {
|
||||||
if !self.at_cdr(" | _") {
|
if !self.at_cdr(" | _") {
|
||||||
self.outputter.push_char('_');
|
self.outputter.push_char('_');
|
||||||
@@ -575,9 +578,9 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter>
|
|||||||
self.print_constant(c, &op),
|
self.print_constant(c, &op),
|
||||||
HeapCellValue::Addr(Addr::Lis(_)) =>
|
HeapCellValue::Addr(Addr::Lis(_)) =>
|
||||||
if self.ignore_ops {
|
if self.ignore_ops {
|
||||||
self.format_struct(2, clause_name!("."))
|
self.format_struct(2, clause_name!("."));
|
||||||
} else {
|
} else {
|
||||||
self.push_list()
|
self.push_list();
|
||||||
},
|
},
|
||||||
HeapCellValue::Addr(addr) =>
|
HeapCellValue::Addr(addr) =>
|
||||||
if let Some(offset_str) = self.offset_as_string(addr) {
|
if let Some(offset_str) = self.offset_as_string(addr) {
|
||||||
@@ -630,13 +633,13 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter>
|
|||||||
delimit.set(false);
|
delimit.set(false);
|
||||||
},
|
},
|
||||||
TokenOrRedirect::CloseList(delimit) =>
|
TokenOrRedirect::CloseList(delimit) =>
|
||||||
if !self.ignore_ops && delimit.get() {
|
if delimit.get() {
|
||||||
self.outputter.push_char(']');
|
self.outputter.push_char(']');
|
||||||
},
|
},
|
||||||
TokenOrRedirect::HeadTailSeparator =>
|
TokenOrRedirect::HeadTailSeparator =>
|
||||||
if !self.ignore_ops {
|
// if !self.ignore_ops {
|
||||||
self.outputter.append(" | ");
|
self.outputter.append(" | "),
|
||||||
},
|
// },
|
||||||
TokenOrRedirect::Comma =>
|
TokenOrRedirect::Comma =>
|
||||||
self.outputter.append(", ")
|
self.outputter.append(", ")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user