about summary refs log tree commit diff stats
path: root/shell/evaluate.mu
diff options
context:
space:
mode:
Diffstat (limited to 'shell/evaluate.mu')
-rw-r--r--shell/evaluate.mu11
1 files changed, 8 insertions, 3 deletions
diff --git a/shell/evaluate.mu b/shell/evaluate.mu
index 25a82f52..6fc9f840 100644
--- a/shell/evaluate.mu
+++ b/shell/evaluate.mu
@@ -1026,9 +1026,14 @@ fn cell-isomorphic? _a: (addr cell), _b: (addr cell), trace: (addr trace) -> _/e
     trace-text trace, "eval", "=> true (numbers)"
     return 1/true
   }
-  compare b-type, 2/symbol
-  {
-    break-if-!=
+  $cell-isomorphic?:text-data: {
+    {
+      compare b-type, 2/symbol
+      break-if-=
+      compare b-type, 3/stream
+      break-if-=
+      break $cell-isomorphic?:text-data
+    }
     var b-val-ah/eax: (addr handle stream byte) <- get b, text-data
     var _b-val/eax: (addr stream byte) <- lookup *b-val-ah
     var b-val/ecx: (addr stream byte) <- copy _b-val