diff --git a/forge/forge.lisp b/forge/forge.lisp index 6dd6356..a771aac 100644 --- a/forge/forge.lisp +++ b/forge/forge.lisp @@ -115,6 +115,8 @@ (reg * (pushd (* (popd) (popd)))) (reg dup (pushd (car (dstack)))) (reg swap (let ((a (popd)) (b (popd))) (pushd a) (pushd b))) + (reg ? (format t "~a~%" (popd))) + (reg ?? (format t "~a~%" (dstack))) (register 'lit #'lit) (register 'wrap #'wrap) @@ -134,7 +136,8 @@ (concatenate 'string "(" s ")")))) (defun repl () - (do ((input (read-line) (read-line))) ((string= input "q") nil) + (do ((input (read-line) (read-line))) + ((string= input "q") (dstack)) (exec-str input))) (defun exec (code) diff --git a/test/test-forge.lisp b/test/test-forge.lisp index 73819e8..a073ffa 100644 --- a/test/test-forge.lisp +++ b/test/test-forge.lisp @@ -12,8 +12,9 @@ (in-package :scopes/test-forge) (defun run () - (let ((t:*test-suite* (t:test-suite "forge")) - (forge:*forge-env* (forge:forge-env))) + (let ((t:*test-suite* (t:test-suite "forge"))) + ;(forge:*forge-env* (forge:forge-env))) + (setf forge:*forge-env* (forge:forge-env)) (forge:setup-builtins) (test-iseq) (test-exec)