Mercurial > hg > jslab
annotate src/scheme/props.scm @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | bf79fb79ee13 |
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 |