]> Repositorios git - scryer-prolog.git/commitdiff
correct get_single_quoted_item, re: #48
authorMark Thom <[email protected]>
Fri, 31 Aug 2018 05:51:15 +0000 (23:51 -0600)
committerMark Thom <[email protected]>
Fri, 31 Aug 2018 05:51:15 +0000 (23:51 -0600)
src/prolog/heap_print.rs
src/prolog/parser

index 14c5134f61f9d8f136ae1523e7ba6a2ca8911341..bd27208ffda07c7240d6323d61d703a88d7f7d66 100644 (file)
@@ -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 =>
index 0df920d5a89da22921423f35263f4b61ce576c28..2258588947fc8fe647c466f7e104252c67ae3da4 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 0df920d5a89da22921423f35263f4b61ce576c28
+Subproject commit 2258588947fc8fe647c466f7e104252c67ae3da4