about summary refs log tree commit diff stats
path: root/apps/tile/rpn.mu
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tile/rpn.mu')
-rw-r--r--apps/tile/rpn.mu14
1 files changed, 7 insertions, 7 deletions
diff --git a/apps/tile/rpn.mu b/apps/tile/rpn.mu
index e45aa3d7..e2c7aeef 100644
--- a/apps/tile/rpn.mu
+++ b/apps/tile/rpn.mu
@@ -279,13 +279,6 @@ fn evaluate functions: (addr handle function), bindings: (addr table), scratch:
         var key/ecx: (addr handle array byte) <- address key-h
         stream-to-array curr-stream, key
         bind-in-table bindings, key, target-val
-        # process next line if necessary
-        var line/eax: (addr line) <- copy scratch
-        var next-line-ah/eax: (addr handle line) <- get line, next
-        var next-line/eax: (addr line) <- lookup *next-line-ah
-        compare next-line, 0
-        break-if-= $evaluate:process-word
-        evaluate functions, bindings, next-line, end, out
         break $evaluate:process-word
       }
       rewind-stream curr-stream
@@ -444,6 +437,13 @@ fn evaluate functions: (addr handle function), bindings: (addr table), scratch:
     #
     loop
   }
+  # process next line if necessary
+  var line/eax: (addr line) <- copy scratch
+  var next-line-ah/eax: (addr handle line) <- get line, next
+  var next-line/eax: (addr line) <- lookup *next-line-ah
+  compare next-line, 0
+  break-if-=
+  evaluate functions, bindings, next-line, end, out
 }
 
 fn test-evaluate {