Mercurial > hg > jslab
annotate src/scheme/props.scm @ 0:bf79fb79ee13
Initial Mercurial check in.
author | samer |
---|---|
date | Tue, 17 Jan 2012 17:50:20 +0000 |
parents | |
children |
rev | line source |
---|---|
samer@0 | 1 ; __________________________________________ |
samer@0 | 2 ; open local args file and push on to environment stack |
samer@0 | 3 ; this will now accept all stored data. also adds agent to |
samer@0 | 4 ; save on exit. |
samer@0 | 5 |
samer@0 | 6 (define local-props null) |
samer@0 | 7 (define local-file null) |
samer@0 | 8 (define (push-properties file) |
samer@0 | 9 (set! local-props (samer.core.util.Properties. (Shell.env))) |
samer@0 | 10 (set! local-file file) |
samer@0 | 11 (tryCatch |
samer@0 | 12 (.load local-props (java.io.FileInputStream. file)) |
samer@0 | 13 (lambda (e) (Shell.trace (string-append "failed to load")))) |
samer@0 | 14 (Shell.push local-props) |
samer@0 | 15 |
samer@0 | 16 ;;; this changes to global exit procedure to save the local |
samer@0 | 17 ;;; properties as well as the regular properties |
samer@0 | 18 (set! exit (lambda () |
samer@0 | 19 (display (string-append "saving local properites to " local-file)) |
samer@0 | 20 (.save local-props (java.io.FileOutputStream. local-file)) |
samer@0 | 21 (Shell.interpret "exit") |
samer@0 | 22 (System.exit 0) |
samer@0 | 23 )) |
samer@0 | 24 ) |
samer@0 | 25 |
samer@0 | 26 |