Hello,
The following program will make guile 1.6.1 enter an endless loop
while garbage collecting.
Put this into `module.scm':
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-module (module)
:use-syntax (ice-9 syncase))
(export f)
(define-syntax ds
(syntax-rules ()
((ds a) (string-append a " (by define-syntax)\n"))))
(define (f)
(display "In F.\n")
(display (ds "In F")))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
And this into `main.scm':
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(use-modules (module))
(f)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
If you run this now:
$ guile -s main.scm
In F.
<-- Endless loop!
However, if you change the
(export f)
into
(export f ds)
everything works correctly!
$ guile -s main.scm
In F.
In F (by define-syntax)
Therefore I think, all macros used by exported guile functions have to
get exported too.
This bug seems to appear in guile 1.6 only, since I talked to the mixp
developer, he uses guile 1.7 and can't reproduce it.
If you have patches, could you please CC: them to me?
Happy hacking,
Christian Neukirchen <[EMAIL PROTECTED]>
__________________________________________________________________
Gesendet von Yahoo! Mail - http://mail.yahoo.de
Bis zu 100 MB Speicher bei http://premiummail.yahoo.de
_______________________________________________
Bug-guile mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-guile