1
Fork 0
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:
Neil Jerram 2009-02-05 22:11:26 +00:00
parent 95a040cd2b
commit ad5f5ada1d
4 changed files with 16 additions and 3 deletions

7
NEWS
View file

@ -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
View file

@ -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

View file

@ -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))

View file

@ -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)))