diff src/scheme/props.scm @ 0:bf79fb79ee13

Initial Mercurial check in.
author samer
date Tue, 17 Jan 2012 17:50:20 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/scheme/props.scm	Tue Jan 17 17:50:20 2012 +0000
@@ -0,0 +1,26 @@
+; __________________________________________
+; open local args file and push on to environment stack
+; this will now accept all stored data. also adds agent to
+; save on exit.
+
+(define local-props null)
+(define local-file null)
+(define (push-properties file)
+	(set! local-props (samer.core.util.Properties. (Shell.env)))
+	(set! local-file file)
+	(tryCatch
+		(.load local-props (java.io.FileInputStream. file))
+		(lambda (e) (Shell.trace (string-append "failed to load"))))
+	(Shell.push local-props)
+
+	;;; this changes to global exit procedure to save the local
+	;;; properties as well as the regular properties
+	(set! exit (lambda ()
+		(display (string-append "saving local properites to " local-file))
+		(.save local-props (java.io.FileOutputStream. local-file))
+		(Shell.interpret "exit")
+		(System.exit 0)
+	))
+)
+
+