diff options
Diffstat (limited to 'scheme48.init')
-rw-r--r-- | scheme48.init | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/scheme48.init b/scheme48.init index c7e91af..202c7bb 100644 --- a/scheme48.init +++ b/scheme48.init @@ -13,6 +13,7 @@ s48-getenv s48-current-time s48-time-seconds (s48-access-mode :syntax) s48-accessible? + s48-unlink s48-system s48-current-error-port s48-force-output @@ -34,7 +35,7 @@ (lookup-environment-variable s48-getenv))) (modify posix-files (prefix s48-) - (expose access-mode accessible?)) + (expose access-mode accessible? unlink)) (modify c-system-function (rename (system s48-system))) (modify i/o (rename (current-error-port s48-current-error-port) @@ -247,6 +248,9 @@ )) +;;@ (FILE-POSITION <port> . <k>) +(define (file-position . args) #f) + ;;; (OUTPUT-PORT-WIDTH <port>) (define (output-port-width . arg) 79) @@ -269,7 +273,14 @@ ;;; (DELETE-FILE <string>) (define (delete-file file-name) - (system (string-append "rm " file-name))) + (call-with-current-continuation + (lambda (k) + (s48-with-handler + (lambda (condition decline) + (k #f)) + (lambda () + (s48-unlink file-name) + #t))))) ;;; FORCE-OUTPUT flushes any pending output on optional arg output port ;;; use this definition if your system doesn't have such a procedure. @@ -504,7 +515,7 @@ ,collect ,batch off -,dump slib.image "(slib 3a4)" +,dump slib.image "(slib 3a5)" ;;; Put Scheme48-specific code into catalog (call-with-output-file (in-vicinity (implementation-vicinity) "implcat") |