Change GET-ENVIRONMENT-VARIABLE to return #F if not found. Rename
authorChris Hanson <org/chris-hanson/cph>
Thu, 9 May 1991 03:22:24 +0000 (03:22 +0000)
committerChris Hanson <org/chris-hanson/cph>
Thu, 9 May 1991 03:22:24 +0000 (03:22 +0000)
GET-USER-HOME-DIRECTORY to UNIX/USER-HOME-DIRECTORY.

v7/src/runtime/unxprm.scm
v7/src/runtime/unxpth.scm

index a745915e606f026b4d23c679671735b1c01b1136..9a260a843910a904ad695d67f2098edc508977e7 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/unxprm.scm,v 1.11 1991/02/15 18:07:35 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/unxprm.scm,v 1.12 1991/05/09 03:22:24 cph Exp $
 
 Copyright (c) 1988-91 Massachusetts Institute of Technology
 
@@ -94,27 +94,32 @@ MIT in each case. |#
   ((ucode-primitive file-mod-time-indirect 1)
    (pathname->string (pathname->absolute-pathname (->pathname filename)))))
 \f
-(define (get-environment-variable name)
-  (or ((ucode-primitive get-environment-variable) name)
-      (error "GET-ENVIRONMENT-VARIABLE: Unbound name" name)))
+(define-integrable get-environment-variable
+  (ucode-primitive get-environment-variable))
 
-(define (get-user-home-directory user-name)
-  (or ((ucode-primitive get-user-home-directory) user-name)
-      (error "User has no home directory" user-name)))
+(define (unix/user-home-directory user-name)
+  (let ((directory (ucode-primitive get-user-home-directory)))
+    (if (not directory)
+       (error "Can't find user's home directory:" user-name))
+    directory))
 
-(define unix/current-user-name
+(define (unix/current-home-directory)
+  (or (get-environment-variable "HOME")
+      (get-user-home-directory (unix/current-user-name))))
+
+(define-integrable unix/current-user-name
   (ucode-primitive current-user-name))
 
-(define unix/current-uid
+(define-integrable unix/current-uid
   (ucode-primitive current-uid))
 
-(define unix/current-gid
+(define-integrable unix/current-gid
   (ucode-primitive current-gid))
 
-(define unix/current-file-time
+(define-integrable unix/current-file-time
   (ucode-primitive current-file-time))
 
-(define unix/file-time->string
+(define-integrable unix/file-time->string
   (ucode-primitive file-time->string))
 
 (define (unix/uid->string uid)
@@ -125,7 +130,7 @@ MIT in each case. |#
   (or ((ucode-primitive gid->string) gid)
       (number->string gid 10)))
 
-(define unix/system
+(define-integrable unix/system
   (ucode-primitive system))
 
 (define (file-touch filename)
index 7279da26151741fa5f50ebe421699260c40a9ee5..e7d80374f88038e0d68538ea9910685a6ad4cb3f 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/unxpth.scm,v 14.5 1989/04/05 04:25:52 cph Rel $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/unxpth.scm,v 14.6 1991/05/09 03:22:03 cph Exp $
 
-Copyright (c) 1988, 1989 Massachusetts Institute of Technology
+Copyright (c) 1988-91 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -36,12 +36,12 @@ MIT in each case. |#
 ;;; package: ()
 
 (declare (usual-integrations))
-\f
+
 (define (symbol->pathname symbol)
   (string->pathname (string-downcase (symbol->string symbol))))
 
 (define (home-directory-pathname)
-  (pathname-as-directory (string->pathname (get-environment-variable "HOME"))))
+  (pathname-as-directory (string->pathname (unix/current-home-directory))))
 
 (define (init-file-pathname)
   (string->pathname ".scheme.init"))