From d9751671c898c75303911174130619bfa1af29d4 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Thu, 30 Aug 2018 23:51:15 -0600 Subject: [PATCH] correct get_single_quoted_item, re: #48 --- src/prolog/heap_print.rs | 5 +++-- src/prolog/parser | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/prolog/heap_print.rs b/src/prolog/heap_print.rs index 14c5134f..bd27208f 100644 --- a/src/prolog/heap_print.rs +++ b/src/prolog/heap_print.rs @@ -279,6 +279,7 @@ impl<'a, Formatter: HCValueFormatter, Outputter: HCValueOutputter> fn print_atom(&mut self, atom: &ClauseName) { match atom.as_str() { + "" => self.outputter.append("''"), ";" | "!" => self.outputter.append(atom.as_str()), s => if s.chars().all(non_quoted_token) { self.outputter.append(atom.as_str()); @@ -301,7 +302,7 @@ impl<'a, Formatter: HCValueFormatter, Outputter: HCValueOutputter> } fn print_constant(&mut self, c: Constant) { - match c { + match c { Constant::Atom(ref atom) => self.print_atom(atom), Constant::Char(c) if c == '\n' => @@ -406,7 +407,7 @@ impl<'a, Formatter: HCValueFormatter, Outputter: HCValueOutputter> if let Some(loc_data) = self.state_stack.pop() { match loc_data { TokenOrRedirect::Atom(atom) => - self.outputter.append(atom.as_str()), + self.print_atom(&atom), TokenOrRedirect::NumberedVar(num_var) => self.outputter.append(num_var.as_str()), TokenOrRedirect::Redirect => diff --git a/src/prolog/parser b/src/prolog/parser index 0df920d5..22585889 160000 --- a/src/prolog/parser +++ b/src/prolog/parser @@ -1 +1 @@ -Subproject commit 0df920d5a89da22921423f35263f4b61ce576c28 +Subproject commit 2258588947fc8fe647c466f7e104252c67ae3da4 -- 2.54.0