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 problem when scm_t_timespec is different from struct timespec
|
||||||
** Fix build when compiled with -Wundef -Werror
|
** 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)
|
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
|
Peter Gavin
|
||||||
Eric Gillespie, Jr
|
Eric Gillespie, Jr
|
||||||
Didier Godefroy
|
Didier Godefroy
|
||||||
|
Panicz Maciej Godek
|
||||||
John Goerzen
|
John Goerzen
|
||||||
Mike Gran
|
Mike Gran
|
||||||
Szavai Gyula
|
Szavai Gyula
|
||||||
|
|
|
@ -146,9 +146,11 @@
|
||||||
(let ((e ((macro-transformer m)
|
(let ((e ((macro-transformer m)
|
||||||
e
|
e
|
||||||
(append r (list eval-closure)))))
|
(append r (list eval-closure)))))
|
||||||
|
(if (variable? e)
|
||||||
|
e
|
||||||
(if (null? r)
|
(if (null? r)
|
||||||
(sc-expand e)
|
(sc-expand e)
|
||||||
(sc-chi e r w))))))))))
|
(sc-chi e r w)))))))))))
|
||||||
|
|
||||||
(define generated-symbols (make-weak-key-hash-table 1019))
|
(define generated-symbols (make-weak-key-hash-table 1019))
|
||||||
|
|
||||||
|
|
|
@ -34,3 +34,6 @@
|
||||||
|
|
||||||
(pass-if "basic syncase macro"
|
(pass-if "basic syncase macro"
|
||||||
(= (plus 1 2 3) (+ 1 2 3)))
|
(= (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