(define-structure tty-utils (export modify-tty echo-off echo-on raw raw-initialize) (open scsh let-opt scheme) (files tty-utils)) (define-structure let-match-package (export (let-match :syntax) (if-match :syntax) (match-cond :syntax)) (for-syntax (open scheme signals)) ; For ERROR (open scsh scheme) (access signals) ; for ERROR (files let-match)) (define-structure expect-syntax-support (export expand-expect) (open scheme structure-refs receiving) ; for making alien containers. (access signals) ; for ERROR (files expect-syntax)) (define-structure expect-package (export task? make-task copy-task task:process set-task:process modify-task:process task:in set-task:in modify-task:in task:out set-task:out modify-task:out task:buf set-task:buf modify-task:buf task:pre-match set-task:pre-match modify-task:pre-match port->monitor user-task file->task ports->task close-task spawn* (spawn :syntax) tsend tsend-line (expect :syntax)) (for-syntax (open expect-syntax-support scheme)) (open scsh formats structure-refs let-match-package receiving defrec-package scheme srfi-13) (access signals) ; for ERROR (files expect)) (define-structure chat-package (export chat-abort chat-timeout chat-monitor port->chat-logger file->chat-logger (look-for :syntax) (chat :syntax) send send/cr) (open scsh expect-package fluids scheme) (files chat)) (define-structure printf-package (export printf sprintf display/cr display/nl) (open scsh formats scheme) (begin (define (printf fmt . args) (apply format (current-output-port) fmt args)) (define (sprintf fmt . args) (apply format #f fmt args)) (define (display/cr str . maybe-port) (apply display str maybe-port) (apply write-string "\r" maybe-port)) (define (display/nl str . maybe-port) (apply display str maybe-port) (apply write-string "\n" maybe-port)) ))