Hello, I'm trying to test cond-expand as provided by (scheme base), which is the R7RS flavored version of cond-expand, but it fails when in a pure Guile module:
--8<---------------cut here---------------start------------->8--- new file test-suite/tests/r7rs-cond-expand.test @@ -0,0 +1,19 @@ +(define-module (test-suite r7rs-cond-expand) + #:pure + #:use-module (scheme base) + #:use-module ((srfi srfi-64) #:select (test-read-eval-string)) + #:use-module (test-suite lib)) + +(pass-if "cond-expand expression missing library test" + (test-read-eval-string "\ +(cond-expand + ((library (srfi srfi-99999)) + #f) + (else #t))")) + +(pass-if "cond-expand expression found library test" + (test-read-eval-string "\ +(cond-expand + ((library (srfi srfi-64)) + #t) + (else #f))")) # Running it: ./meta/guile -L test-suite -L . test-suite/tests/r7rs-cond-expand.test ERROR: cond-expand expression missing library test - arguments: ((syntax-error #f "source expression failed to match any pattern" ((line . 1) (column . 2)) (library (srfi srfi-99999)) #f)) ERROR: cond-expand expression found library test - arguments: ((syntax-error #f "source expression failed to match any pattern" ((line . 1) (column . 2)) (library (srfi srfi-64)) #f)) --8<---------------cut here---------------end--------------->8--- Would someone have a clue as to why? If I drop #:pure, it then works as expected. Is this a bug? -- Thanks, Maxim