mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 11:50:28 +02:00
Allow @ to work with (ice-9 syncase)
(Reported by Panicz Maciej Godek.) * test-suite/tests/syncase.test ("@ works with syncase"): New test. * ice-9/syncase.scm (guile-macro): When a Guile macro transformer produces a variable, don't pass it through sc-expand.
This commit is contained in:
parent
95a040cd2b
commit
ad5f5ada1d
4 changed files with 16 additions and 3 deletions
7
NEWS
7
NEWS
|
@ -50,6 +50,13 @@ Changes in 1.8.7 (since 1.8.6)
|
|||
** Fix build problem when scm_t_timespec is different from struct timespec
|
||||
** Fix build when compiled with -Wundef -Werror
|
||||
|
||||
** Allow @ macro to work with (ice-9 syncase)
|
||||
|
||||
Previously, use of the @ macro in a module whose code is being
|
||||
transformed by (ice-9 syncase) would cause an "Invalid syntax" error.
|
||||
Now it works as you would expect (giving the value of the specified
|
||||
module binding).
|
||||
|
||||
|
||||
Changes in 1.8.6 (since 1.8.5)
|
||||
|
||||
|
|
1
THANKS
1
THANKS
|
@ -41,6 +41,7 @@ For fixes or providing information which led to a fix:
|
|||
Peter Gavin
|
||||
Eric Gillespie, Jr
|
||||
Didier Godefroy
|
||||
Panicz Maciej Godek
|
||||
John Goerzen
|
||||
Mike Gran
|
||||
Szavai Gyula
|
||||
|
|
|
@ -146,9 +146,11 @@
|
|||
(let ((e ((macro-transformer m)
|
||||
e
|
||||
(append r (list eval-closure)))))
|
||||
(if (variable? e)
|
||||
e
|
||||
(if (null? r)
|
||||
(sc-expand e)
|
||||
(sc-chi e r w))))))))))
|
||||
(sc-chi e r w)))))))))))
|
||||
|
||||
(define generated-symbols (make-weak-key-hash-table 1019))
|
||||
|
||||
|
|
|
@ -34,3 +34,6 @@
|
|||
|
||||
(pass-if "basic syncase macro"
|
||||
(= (plus 1 2 3) (+ 1 2 3)))
|
||||
|
||||
(pass-if "@ works with syncase"
|
||||
(eq? run-test (@ (test-suite lib) run-test)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue