]> Repositorios git - scryer-prolog.git/commitdiff
fix $VAR-names (#275) and properly print single control chars (#280)
authorMark Thom <[email protected]>
Fri, 13 Mar 2020 08:48:31 +0000 (02:48 -0600)
committerMark Thom <[email protected]>
Fri, 13 Mar 2020 08:48:40 +0000 (02:48 -0600)
src/prolog/heap_print.rs

index bdfb3bdfd3e55af39af0840848b56dbbdb0dcbb7..175016526f6c9ebf9a53eb530034927a2b4b8a68 100644 (file)
@@ -277,7 +277,7 @@ fn numbervar(n: Integer) -> Var {
 
     let i = n.mod_u(26) as usize;
     let j = n.div_rem_floor(Integer::from(26));
-    let j = <(Integer, Integer)>::from(j).1;
+    let j = <(Integer, Integer)>::from(j).0;
 
     if j == 0 {
         CHAR_CODES[i].to_string()
@@ -843,7 +843,9 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
             Constant::Char(c) => {
                 let mut result = String::new();
 
-                if self.quoted {
+                if c.is_control() {
+                    result = c.to_string();
+                } else if self.quoted {
                     result.push('\'');
                     result += &char_to_string(c);
                     result.push('\'');