Change USER-HOME-DIRECTORY to generate an error if it can't find the
authorChris Hanson <org/chris-hanson/cph>
Mon, 23 Nov 1998 06:27:23 +0000 (06:27 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 23 Nov 1998 06:27:23 +0000 (06:27 +0000)
home directory.  This is what the unix version of this procedure does.

The reason for this change is that it will allow files whose names
begin with "~" to be referenced.  Such files are commonly generated by
some Windows installation programs.

v7/src/runtime/ntprm.scm
v7/src/runtime/os2prm.scm

index bde3f75cf35e0e0ba9c5ebee28b2d133177ed0b7..3fe8c20af7dfee5e3c176eee25188f893b25807b 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: ntprm.scm,v 1.23 1998/09/06 04:45:15 cph Exp $
+$Id: ntprm.scm,v 1.24 1998/11/23 06:27:16 cph Exp $
 
 Copyright (c) 1992-98 Massachusetts Institute of Technology
 
@@ -294,10 +294,10 @@ MIT in each case. |#
                              user-name
                              (directory-pathname-as-file homedir))))
                ;; Look for USER-NAME in root directory of system
-               ;; drive.  Failing that, use root directory itself.
-               (let ((rootdir (%system-root-directory)))
-                 (or (trydir (merge-pathnames user-name rootdir))
-                     rootdir)))))))
+               ;; drive.
+               (trydir (merge-pathnames user-name (%system-root-directory)))
+               ;; OK, give up:
+               (error "Can't find user's home directory:" user-name))))))
 
 (define dos/user-home-directory user-home-directory)
 (define dos/current-user-name current-user-name)
index 43cdf2d436233a0341da2e9e2261dde521124329..40e72b10034f19bac1cdbc4258be8088f62379e6 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: os2prm.scm,v 1.36 1998/05/31 03:20:22 cph Exp $
+$Id: os2prm.scm,v 1.37 1998/11/23 06:27:23 cph Exp $
 
 Copyright (c) 1994-98 Massachusetts Institute of Technology
 
@@ -280,10 +280,10 @@ MIT in each case. |#
                              user-name
                              (directory-pathname-as-file homedir))))
                ;; Look for USER-NAME in root directory of system
-               ;; drive.  Failing that, use root directory itself.
-               (let ((rootdir (%system-root-directory)))
-                 (or (trydir (merge-pathnames user-name rootdir))
-                     rootdir)))))))
+               ;; drive.
+               (trydir (merge-pathnames user-name (%system-root-directory)))
+               ;; OK, give up:
+               (error "Can't find user's home directory:" user-name))))))
 \f
 (define (dos/fs-drive-type pathname)
   (let ((type