diff options
author | EuAndreh <eu@euandre.org> | 2022-08-05 19:32:09 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2022-08-05 20:12:17 -0300 |
commit | 1856fe44a8f7fe3802e6c3e5e6369f2c7e8e5699 (patch) | |
tree | 24e81e263c74c69d6f2ef45603b29b8d9e276016 /src/xyz/euandreh | |
parent | doc/: Setup Texinfo documentation skeleton (diff) | |
download | guile-heredoc-1856fe44a8f7fe3802e6c3e5e6369f2c7e8e5699.tar.gz guile-heredoc-1856fe44a8f7fe3802e6c3e5e6369f2c7e8e5699.tar.xz |
tests/heredoc.scm: Add test for (enable-syntax) macro
Test both compiled and non-compiled variants of the test in order to
stress the scenarios of *when* the read-macro is set.
Also change the (eval-when ...) case used:
- "compile": for when the code is being compiled only, and before its
execution;
- "eval": for the the code is being evaluated only, during its
execution.
Also from the Guile manual (via 'info (guile)Loading'):
Changing ‘current-reader’ is typically useful to introduce local
syntactic changes, such that code following the ‘fluid-set!’ call
is read using the newly installed reader. The ‘current-reader’
change should take place at evaluation time when the code is
evaluated, or at compilation time when the code is compiled:
(eval-when (compile eval)
(fluid-set! current-reader my-own-reader))
The ‘eval-when’ form above ensures that the ‘current-reader’ change
occurs at the right time.
Diffstat (limited to 'src/xyz/euandreh')
-rw-r--r-- | src/xyz/euandreh/heredoc.scm | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/xyz/euandreh/heredoc.scm b/src/xyz/euandreh/heredoc.scm index ba7b727..a7b969d 100644 --- a/src/xyz/euandreh/heredoc.scm +++ b/src/xyz/euandreh/heredoc.scm @@ -98,5 +98,5 @@ s))))) (define-macro (enable-syntax) - `(eval-when (expand load eval) + `(eval-when (compile eval) (read-hash-extend #\" (@ (xyz euandreh heredoc) reader)))) |