diff options
-rw-r--r-- | 2d/game-loop.scm | 4 | ||||
-rw-r--r-- | 2d/repl/repl.scm | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/2d/game-loop.scm b/2d/game-loop.scm index af4966f..ab81b5a 100644 --- a/2d/game-loop.scm +++ b/2d/game-loop.scm @@ -170,9 +170,13 @@ is the unused accumulator time." accumulator)) (define (time-left current-time next-time) + "Calculate the delta between NEXT-TIME and CURRENT-TIME. If +NEXT-TIME is less than CURRENT-TIME, 0 is returned." (max (floor (- next-time current-time)) 0)) (define (run-repl-thunk thunk input output error stack) + "Run THUNK with the given REPL STACK. I/O is redirected to the given +INPUT, OUTPUT, and ERROR ports." (put-mvar repl-output-mvar (with-input-from-port input diff --git a/2d/repl/repl.scm b/2d/repl/repl.scm index e6077cd..253789d 100644 --- a/2d/repl/repl.scm +++ b/2d/repl/repl.scm @@ -193,9 +193,11 @@ (abort-on-error "parsing expression" (repl-parse repl exp)))))) (run-hook before-eval-hook exp) - ;; Insert thunk into repl-mvar. The + ;; Insert thunk into repl-mvar. The ;; game loop will schedule it and run - ;; it on the next tick. + ;; it on the next tick. We also pass + ;; along the input/output/error ports + ;; and the REPL stack. (put-mvar repl-input-mvar (list |