about summary refs log tree commit diff stats
path: root/mu.arc
diff options
context:
space:
mode:
Diffstat (limited to 'mu.arc')
-rw-r--r--mu.arc12
1 files changed, 12 insertions, 0 deletions
diff --git a/mu.arc b/mu.arc
index 3fe6423c..3f63f6de 100644
--- a/mu.arc
+++ b/mu.arc
@@ -768,6 +768,13 @@
                     )
                 $quit
                   (quit)
+                $wait-for-key-from-host
+                  (if ($.current-charterm)
+                        ($.charterm-read-key)
+                      ($.graphics-open?)
+                        ($.get-key-press Viewport))
+                $eval
+                  (new-string:repr:eval:read:to-arc-string (m arg.0))
 
                 ; user-defined functions
                 next-input
@@ -1043,6 +1050,11 @@
 ;?       (prn index " " repr.c) ;? 1
       (= (memory* (+ result 1 index)) c))))
 
+(def to-arc-string (string-address)
+  (let len (memory* string-address)
+    (string:map memory* (range (+ string-address 1)
+                               (+ string-address len)))))
+
 ;; desugar structured assembly based on blocks
 
 (def convert-braces (instrs)