diff --git a/scheme/more-interfaces.scm b/scheme/more-interfaces.scm index 80373ef..5dbaa05 100644 --- a/scheme/more-interfaces.scm +++ b/scheme/more-interfaces.scm @@ -65,7 +65,7 @@ push-command-levels? start-new-session - + session-started? ; for scsh command-input command-output command-error-output diff --git a/scsh/scsh-package.scm b/scsh/scsh-package.scm index 0f3c8de..d1f9c80 100644 --- a/scsh/scsh-package.scm +++ b/scsh/scsh-package.scm @@ -276,6 +276,8 @@ fluids-internal ; JMG: get-dynamic-env scsh-utilities interrupts + low-interrupt + events primitives scheme) (files startup)) @@ -306,6 +308,7 @@ scsh-level-0 ; with-current-input-port error-output-port ; with-current-output-port exit scsh-level-0-internals ; set-command-line-args! init-scsh-vars + threads scheme) (files top meta-arg)) diff --git a/scsh/static.scm b/scsh/static.scm index 8e1d6a5..e51cba4 100755 --- a/scsh/static.scm +++ b/scsh/static.scm @@ -1,14 +1,13 @@ -#!/usr/local/lib/scsh/scshvm \ --o /usr/local/lib/scsh/scshvm -h 8000000 -i /usr/local/lib/scsh/scsh.image -lm /usr/local/lib/scsh/vm/ps-interface.scm -lm /usr/local/lib/scsh/vm/interfaces.scm -lm /usr/local/lib/scsh/vm/package-defs.scm -lm /usr/local/lib/scsh/vm/s48-package-defs.scm -dm -m static-heaps -e static-heap-linker -s +#!/home/gasbichl/i386_fbsd40/scsh-0.6//lib/scsh/scshvm \ +-o /home/gasbichl/i386_fbsd40/scsh-0.6//lib/scsh/scshvm -h 8000000 -i /home/gasbichl/i386_fbsd40/scsh-0.6//lib/scsh/scsh.image -lm /home/gasbichl/i386_fbsd40/scsh-0.6//lib/scsh/vm/ps-interface.scm -lm /home/gasbichl/i386_fbsd40/scsh-0.6//lib/scsh/vm/interfaces.scm -lm /home/gasbichl/i386_fbsd40/scsh-0.6//lib/scsh/vm/package-defs.scm -lm /home/gasbichl/i386_fbsd40/scsh-0.6//lib/scsh/vm/s48-package-defs.scm -dm -m static-heaps -e static-heap-linker -s !# #! For testing load this at a scsh prompt -,config ,load ../scheme/prescheme/interface.scm -,config ,load ../scheme/prescheme/package-defs.scm -,config ,load ../scheme/vm/interfaces.scm -,config ,load ../scheme/vm/s48-package-defs.scm -,config ,load ../scheme/vm/package-defs.scm +,config ,load ../vm/ps-interface.scm +,config ,load ../vm/interfaces.scm +,config ,load ../vm/package-defs.scm +,config ,load ../vm/s48-package-defs.scm ,config ,load static.scm ,load-package static-heaps ,in static-heaps @@ -134,17 +133,17 @@ For testing load this at a scsh prompt options (or (options:cc-command options) (getenv "CC") - "gcc -g -O2")) + "gcc -O2")) (set-options:ld-flags options (or (options:ld-flags options) (getenv "LDFLAGS") - "")) + "-rdynamic")) (set-options:libraries options (or (options:libraries options) (getenv "LIBS") - "-ldl -lnsl -lm ")) + "-lcrypt -lm ")) options)) ;;; usage reporting @@ -453,7 +452,7 @@ For testing load this at a scsh prompt (cons "static.o" l))))) (options:args-parser options) - '("-L" "/usr/local/lib/scsh" "-lscshvm") + '("-L" "/home/gasbichl/i386_fbsd40/scsh-0.6//lib/scsh" "-lscshvm") libs))) (message command) (run (,@command))))) diff --git a/scsh/top.scm b/scsh/top.scm index af389f4..2eaf3a2 100644 --- a/scsh/top.scm +++ b/scsh/top.scm @@ -219,6 +219,8 @@ (get-reflective-tower (user-environment)) ; ??? name)) +(define (forever-sleeping-thread) (sleep 10000) (forever-sleeping-thread)) + (define (parse-switches-and-execute all-args context) (receive (switches term-switch term-val top-entry args) (parse-scsh-args (cdr all-args)) @@ -235,6 +237,7 @@ (environment-for-commands) (lambda () (begin + (spawn forever-sleeping-thread) (init-low-interrupt) (install-event-handlers!) (%install-scsh-handlers) @@ -271,20 +274,20 @@ (in-package (user-environment) '())))) - ((eq? term-switch 'c) + ((eq? term-switch 'c) ;;; JMG eval now needs expr represented as data - (eval '(read-exactly-one-sexp-from-string term-val) - (interaction-environment)) - (exit 0)) - - (top-entry ; There was a -e . - ((eval top-entry (interaction-environment)) - (command-line)) - (exit 0)) - + (eval '(read-exactly-one-sexp-from-string term-val) + (interaction-environment)) + (exit 0)) + + (top-entry ; There was a -e . + ((eval top-entry (interaction-environment)) + (command-line)) + (exit 0)) + ;; Otherwise, the script executed as it loaded, - ;; so we're done. - (else (exit 0)))))))))) + ;; so we're done. + (else (exit 0))))))))))