From: Guillermo J. Rozas Date: Tue, 7 Jul 1992 00:44:27 +0000 (+0000) Subject: Add delete-directory primitive. X-Git-Tag: 20090517-FFI~9232 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=35ed6bfdfe5ef6a5835e4efc49b913154ee828c4;p=mit-scheme.git Add delete-directory primitive. Change make-directory to avoid putting the back-slash at the end of the name given to the primitive. --- diff --git a/v7/src/runtime/dosprm.scm b/v7/src/runtime/dosprm.scm index 4372dad1e..1da2865b2 100644 --- a/v7/src/runtime/dosprm.scm +++ b/v7/src/runtime/dosprm.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/dosprm.scm,v 1.8 1992/05/31 06:15:39 mhwu Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/dosprm.scm,v 1.9 1992/07/07 00:44:27 jinx Exp $ Copyright (c) 1992 Massachusetts Institute of Technology @@ -96,7 +96,6 @@ MIT in each case. |# (lambda () (if (file-exists? name) (delete-file name)))))))) (find-eligible-directory (cdr eligible-directories))))))) - (define (file-attributes-direct filename) ((ucode-primitive file-attributes) @@ -135,7 +134,6 @@ MIT in each case. |# (define file-modification-time file-modification-time-indirect) - (define get-environment-variable) (define set-environment-variable!) (define delete-environment-variable!) @@ -166,7 +164,7 @@ MIT in each case. |# (set! environment-variables (cons (cons variable value) environment-variables))))) - (error "SET-ENVIRONMENT-VARIABLE: Variable must be a string" + (error "SET-ENVIRONMENT-VARIABLE!: Variable must be a string" variable value)) unspecific)) (set! delete-environment-variable! @@ -175,7 +173,7 @@ MIT in each case. |# (set! reset-environment-variables! (lambda () (set! environment-variables '()))) ) ; End LET - + (define (dos/user-home-directory user-name) (let ((directory ((ucode-primitive get-user-home-directory) user-name))) (if (not directory) @@ -196,15 +194,22 @@ MIT in each case. |# (ucode-primitive file-time->string)) (define (file-touch filename) - ((ucode-primitive file-touch) (->namestring (merge-pathnames filename)))) + ((ucode-primitive file-touch) + (->namestring (merge-pathnames filename)))) (define (make-directory name) - ((ucode-primitive directory-make) - (->namestring (pathname-as-directory (merge-pathnames name))))) - + ;; No pathname-as-directory here because DOS does not know how + ;; to handle the trailing back-slash. + ((ucode-primitive directory-make 1) + (->namestring (merge-pathnames name)))) + +(define (delete-directory name) + ;; No pathname-as-directory here because DOS does not know how + ;; to handle the trailing back-slash. + ((ucode-primitive directory-delete 1) + (->namestring (merge-pathnames name)))) ;;; Queues after-restart daemon to clean up environment space (define (initialize-system-primitives!) - (add-event-receiver! event:after-restart reset-environment-variables!)) - + (add-event-receiver! event:after-restart reset-environment-variables!)) \ No newline at end of file