]> Repositorios git - scryer-prolog.git/commitdiff
recognize characters as separate from atoms in ''/7 (#1192)
authorMark Thom <[email protected]>
Tue, 11 Jan 2022 04:18:11 +0000 (21:18 -0700)
committerMark Thom <[email protected]>
Tue, 11 Jan 2022 04:18:11 +0000 (21:18 -0700)
src/machine/system_calls.rs

index 800693af2a11be223bed95f60a474e0b514d8cf4..71208ce47924e74152f78fa80f188b1ad6d67554 100644 (file)
@@ -2947,7 +2947,17 @@ impl Machine {
             };
 
             let unossified_op_dir = if !orig_op.is_var() {
-                let orig_op = cell_as_atom!(orig_op);
+                let orig_op = read_heap_cell!(orig_op,
+                    (HeapCellValueTag::Atom, (name, _arity)) => {
+                        name
+                    }
+                    (HeapCellValueTag::Char, c) => {
+                        self.machine_st.atom_tbl.build_with(&c.to_string())
+                    }
+                    _ => {
+                        unreachable!()
+                    }
+                );
 
                 let op_descs = [
                     self.indices.op_dir.get_key_value(&(orig_op, Fixity::In)),