aboutsummaryrefslogtreecommitdiffstats
path: root/scheme48.init
diff options
context:
space:
mode:
Diffstat (limited to 'scheme48.init')
-rw-r--r--scheme48.init17
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")