#| -*-Scheme-*-
-$Id: ntprm.scm,v 1.13 1997/11/11 12:52:15 cph Exp $
+$Id: ntprm.scm,v 1.14 1997/11/11 13:20:21 cph Exp $
Copyright (c) 1992-97 Massachusetts Institute of Technology
(merge-pathnames user-name directory)))))
(cond ((get-environment-variable "USERDIR")
=> (lambda (userdir)
- (try (pathname-as-directory
- (merge-pathnames userdir)))))
+ (try (pathname-as-directory (merge-pathnames userdir)))))
((nt/current-home-directory)
=> (lambda (homedir)
(if (string=? user-name (current-user-name))
homedir
(try (directory-pathname-as-file homedir)))))
- (else (error "Unable to find user home directory:" user-name)))))
+ (else
+ (error "Can't find user's home directory:" user-name)))))
(define (nt/current-home-directory)
(let ((homedrive (get-environment-variable "HOMEDRIVE"))
#| -*-Scheme-*-
-$Id: os2prm.scm,v 1.32 1997/10/22 23:01:16 cph Exp $
+$Id: os2prm.scm,v 1.33 1997/11/11 13:20:29 cph Exp $
Copyright (c) 1994-97 Massachusetts Institute of Technology
(define (current-user-name)
(or (get-environment-variable "USER")
- "nouser"))
+ (error "Unable to determine current user name.")))
(define (user-home-directory user-name)
- (or (and user-name
- (let ((directory (get-environment-variable "USERDIR")))
- (and directory
- (pathname-as-directory
- (pathname-new-name
- (pathname-as-directory (merge-pathnames directory))
- user-name)))))
- (merge-pathnames "\\")))
+ (let ((try
+ (lambda (directory)
+ (pathname-as-directory (merge-pathnames user-name directory)))))
+ (cond ((get-environment-variable "USERDIR")
+ => (lambda (userdir)
+ (try (pathname-as-directory (merge-pathnames userdir)))))
+ ((get-environment-variable "HOME")
+ => (lambda (homedir)
+ (if (string=? user-name (current-user-name))
+ homedir
+ (try (directory-pathname-as-file homedir)))))
+ (else
+ (error "Can't find user's home directory:" user-name)))))
\f
(define (dos/fs-drive-type pathname)
(let ((type