Overview
Comment: | ! var support |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.65 |
Files: | files | file ages | folders |
SHA1: |
0323ded23f0f2937f939f8cb935a0529 |
User & Date: | mrwellan on 2018-05-22 12:39:33 |
Other Links: | branch diff | manifest | tags |
Context
2018-05-22
| ||
17:39 | Fixed typo in warning for pktsdirs not being setup check-in: a3760325d1 user: jmoon18 tags: v1.65 | |
12:39 | ! var support check-in: 0323ded23f user: mrwellan tags: v1.65 | |
2018-05-21
| ||
16:38 | change method of launching logpro with explicit sh -c "logpro ..." to avoid unfortunate $SHELL interactions; add support for env var $LOGPRO_EXE to override logpro in $PATH if necessary to aid future debug check-in: 5cda9f7346 user: bjbarcla tags: v1.65 | |
Changes
Modified configf.scm from [af30e1aa5d] to [4863d68fd9].
︙ | ︙ | |||
57 58 59 60 61 62 63 | (define (configf:section-var-set! cfgdat section-name var value #!key (metadata #f)) (hash-table-set! cfgdat section-name (config:assoc-safe-add (hash-table-ref/default cfgdat section-name '()) var value metadata: metadata))) (define (config:eval-string-in-environment str) | > > > | | | | | | | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | (define (configf:section-var-set! cfgdat section-name var value #!key (metadata #f)) (hash-table-set! cfgdat section-name (config:assoc-safe-add (hash-table-ref/default cfgdat section-name '()) var value metadata: metadata))) (define (config:eval-string-in-environment str) ;; (if (or (string-null? str) ;; (equal? "!" (substring str 0 1))) ;; null string or starts with ! are preserved but NOT set in the environment str (handle-exceptions exn (begin (debug:print-error 0 *default-log-port* "problem evaluating \"" str "\" in the shell environment") #f) (let ((cmdres (process:cmd-run->list (conc "echo " str)))) (if (null? cmdres) "" (caar cmdres))))) ;; ) ;;====================================================================== ;; Make the regexp's needed globally available ;;====================================================================== (define configf:include-rx (regexp "^\\[include\\s+(.*)\\]\\s*$")) (define configf:script-rx (regexp "^\\[scriptinc\\s+(\\S+)([^\\]]*)\\]\\s*$")) ;; include output from a script |
︙ | ︙ | |||
435 436 437 438 439 440 441 | (loop (configf:read-line inp res (calc-allow-system allow-system curr-section-name sections) settings) curr-section-name key #f))) (configf:key-val-pr ( x key unk1 val unk2 ) (let* ((alist (hash-table-ref/default res curr-section-name '())) | | > > | 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 | (loop (configf:read-line inp res (calc-allow-system allow-system curr-section-name sections) settings) curr-section-name key #f))) (configf:key-val-pr ( x key unk1 val unk2 ) (let* ((alist (hash-table-ref/default res curr-section-name '())) (envar (and environ-patt (string-search (regexp environ-patt) curr-section-name) ;; does the section match the envionpatt? (and (not (string-null? key))(equal? "!" (substring key 0 1))))) ;; ! as leading character is a signature to NOT export to the environment (realval (if envar (config:eval-string-in-environment val) val))) (debug:print-info 6 *default-log-port* "read-config env setting, envar: " envar " realval: " realval " val: " val " key: " key " curr-section-name: " curr-section-name) (if envar (safe-setenv key realval)) (debug:print 10 *default-log-port* " setting: [" curr-section-name "] " key " = " val) (hash-table-set! res curr-section-name |
︙ | ︙ |