diff --git a/lib/chibi/snow/commands.scm b/lib/chibi/snow/commands.scm index 1a072200..8189cfd6 100644 --- a/lib/chibi/snow/commands.scm +++ b/lib/chibi/snow/commands.scm @@ -1400,15 +1400,15 @@ "/usr/local/share/guile/")))) ((mosh) (with-output-to-file - "/tmp/mosh-helper" + (string-append (cond-expand (windows (get-environment-variable "TMP")) + (else "/tmp")) + "/snowmosh") (lambda () - (display "(import (scheme base) (scheme write) (mosh config)) (display (get-config \"library-path\")) (newline)") - (newline))) - (list - (string-append - (string-trim (process->string '(mosh "/tmp/mosh-helper")) - char-whitespace?) - "/lib"))) + (display "(import (scheme base) (scheme write) (mosh config))") + (newline) + (display "(display (get-config \"library-path\"))"))) + (list (string-append (symbol->string (process->sexp '(mosh /tmp/snowmosh))) + "/lib"))) ((larceny) (list (make-path @@ -1505,10 +1505,10 @@ --r7rs --script ,file) `(kawa ,(string-append "-Dkawa.import.path=" install-dir) --r7rs --script ,file)))) - ((mosh) + ((mosh) (if lib-path `(mosh --loadpath= ,install-dir --loadpath= ,lib-path ,file) - `(guile --loadpath= ,install-dir ,file))) + `(mosh --loadpath= ,install-dir ,file))) ((larceny) (if lib-path `(larceny -r7rs -path ,(string-append install-dir ":" lib-path) diff --git a/lib/chibi/snow/utils.scm b/lib/chibi/snow/utils.scm index f15456fd..8b848399 100644 --- a/lib/chibi/snow/utils.scm +++ b/lib/chibi/snow/utils.scm @@ -39,8 +39,17 @@ ,(delay (process->sexp '(kawa -e "(write (features))")))) - (mosh "mosh" #f #f - ,(delay (write-string "mosh\n"))) + (mosh "mosh" (mosh -v) #f + ,(delay + (let ((tmpfile (string-append (cond-expand (windows (get-environment-variable "TMP")) + (else "/tmp")) + "/snowmosh"))) + (with-output-to-file + tmpfile + (lambda () + (display "(import (scheme base) (scheme write) (mosh config)) (display (features))"))) + (process->sexp + `(mosh ,tmpfile))))) (larceny "larceny" (larceny --version) "v0.98" ,(delay '())) (sagittarius "sagittarius" #f #f