Change MAKE-DIRECTORY and DELETE-DIRECTORY to strip off any trailing
authorChris Hanson <org/chris-hanson/cph>
Wed, 18 Oct 1995 05:09:08 +0000 (05:09 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 18 Oct 1995 05:09:08 +0000 (05:09 +0000)
slash from the filename before giving it to the primitive.  Previously
these were forcing a trailing slash onto the filename.  Most unix
implementations don't care about this, but Linux rejects the old
behavior, and the new behavior is more "correct", in the sense that
this is an operation on the file that is the directory.

v7/src/runtime/dosprm.scm

index 384bf5132cb7e3d101c2c2f8e696f79973e2457a..f327a5ec439afb7bcc94e74c1bab11660e9f7bbc 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: dosprm.scm,v 1.29 1995/04/23 05:24:13 cph Exp $
+$Id: dosprm.scm,v 1.30 1995/10/18 05:09:08 cph Exp $
 
 Copyright (c) 1992-95 Massachusetts Institute of Technology
 
@@ -283,16 +283,12 @@ MIT in each case. |#
    (->namestring (merge-pathnames filename))))
 
 (define (make-directory 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))))
+   (->namestring (directory-pathname-as-file (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))))
+   (->namestring (directory-pathname-as-file (merge-pathnames name)))))
 
 (define (os/default-end-of-line-translation)
   "\r\n")