(use-modules (ice-9 syncase))

(define-syntax IF
  (syntax-rules ()
    ((IF <form1> <form2>) (if <form1> <form2>))
    ((IF <form1> <form2> <form3>) (if <form1> <form2> <form3>))))


In 1.6.0 and including the CVS guile of Aug 22 (I didn't try a later
one until Friday's), this worked fine. In the current CVS guile, it causes
an endless core-up -- perhaps it should issue an error message?

I'm aware that it should be (use-syntax (ice-9 syncase)), but that
casues endless troubles.  For example,


(use-syntax (ice-9 syncase))

(define (atest)
  "this is a comment"
  (define (btest)
    1)
  2)


dies with

invalid context for definition of btest
In /home/bil/test/guile/share/guile/1.7.0/ice-9/syncase.scm:
 134: 0* [scm-error misc-error #f ...]

comment out either the doc-string or the use-syntax, and it's ok.

It also screws up with the optargs module:


(use-modules (ice-9 optargs))
(use-syntax (ice-9 syncase))

(define* (ctest #:optional (count 1))
  1)


-> Syntax error in fixed argument declaration.

These last two die in guile 1.6.0 as well but work if you
use use-modules instead.



_______________________________________________
Bug-guile mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-guile

Reply via email to