|
From: | M |
Subject: | bug#68673: FW: can't export conditional variable set with 'cond' |
Date: | Tue, 23 Jan 2024 15:23:15 +0100 |
Let’s include a copy of the actual bug report: Hi, Suppose I have the following module "testexport" with the auxiliary module "env.scm", used to set global environment variables: -------------testexport.scm begin---------------------------------- (define-module (testexport) #:use-module (ice-9 pretty-print) #:use-module (env) ) (define (main) (pretty-print (string-append "varA in main: " varA)) (pretty-print (string-append "varB in main: " varB)) (pretty-print (string-append "varC in main: " varC)) ) (main) -------------testexport.scm end---------------------------------- -------------env.scm begin---------------------------------- (define-module (env) #:use-module (ice-9 pretty-print) #:export(varA varB varC)) (define varA "A") (define varB "") (define varC "") (define testval "x") (cond ((string= testval "x") (set! varB "B")) ((string= testval "y") (set! varB "error")) ((string= testval "z") (set! varB "null")) ) (pretty-print (string-append "varB post cond: " varB)) (if (string= testval "x") (set! varC "C")) (pretty-print (string-append "varC post if: " varC)) -------------env.scm end---------------------------------- When I run the above I get as output: "varB post cond: B" "varC post if: C" "varA in main: A" "varB in main: " "varC in main: C" Why can I reset the variables with both 'cond' and 'if' in env.scm, but only the variable reset with 'if' is exported with the updated value? Thanks Mortimer |
[Prev in Thread] | Current Thread | [Next in Thread] |