Add init file.
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Thu, 12 Mar 1987 02:19:48 +0000 (02:19 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Thu, 12 Mar 1987 02:19:48 +0000 (02:19 +0000)
v7/src/runtime/system.scm

index 45e4df2a8a0eeba44a9f6e1a25b57daebc52a939..d86387236ae8db76a747d64e2fa76acea37ec1d2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/system.scm,v 13.41 1987/01/23 00:21:32 jinx Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/system.scm,v 13.42 1987/03/12 02:19:48 jinx Exp $
 ;;;
 ;;;    Copyright (c) 1987 Massachusetts Institute of Technology
 ;;;
@@ -55,6 +55,7 @@
 (define disk-save)
 (define dump-world)
 (define event:after-restore)
+(define event:after-restart)
 (define full-quit)
 (define identify-world)
 (define identify-system)
 
 (define (restart-world)
   (screen-clear)
-  (abort->top-level identify-world))
+  (abort->top-level
+   (lambda ()
+     (identify-world)
+     (event:after-restart))))
 \f
 (define (setup-image save-image)
   (lambda (filename #!optional identify)
                  after-dumping)
              ie))))))
 
-(set! event:after-restore
-      (make-event-distributor))
+(set! event:after-restore (make-event-distributor))
+(set! event:after-restart (make-event-distributor))
+
+(add-event-receiver! event:after-restart
+ (lambda ()
+   (if (not (unassigned? init-file-pathname))
+       (let ((file
+             (or (pathname->input-truename
+                  (merge-pathnames init-file-pathname
+                                   (working-directory-pathname)))
+                 (pathname->input-truename
+                  (merge-pathnames init-file-pathname
+                                   (home-directory-pathname))))))
+        (if (not (null? file))
+            (load file user-initial-environment))))))
 \f
 (set! full-quit
 (named-lambda (full-quit)