Opened 14 years ago
Closed 14 years ago
#212 closed defect (fixed)
expand* and ppexpand* break on the "and" macro
Reported by: | Jeronimo Pellegrini | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | extensions | Version: | |
Keywords: | expand-full | Cc: | |
Estimated difficulty: |
Description
Hi,
I have tried sending the definition of "and" from R5RS,
(define-syntax my-and (syntax-rules () ((my-and) #t) ((my-and test) test) ((my-and test1 test2 ...) (if test1 (my-and test2 ...) #f))))
to expand* and ppexpand*, and they break:
#;2> (ppexpand* '(my-and 1 2 3)) Error: (null-list?) bad argument type - not a list: 3 Call history: <eval> (rename22 (##core#syntax my-and)) <eval> (##sys#cons (quote21 #f) (quote21 ())) <eval> (##sys#cdr input13) <eval> (##sys#eq? tail23 (quote ())) <eval> (##sys#pair? temp24) <eval> (##sys#eq? (##sys#cdr temp24) (quote ())) <eval> (##sys#cdr temp24) <eval> (##sys#car tail23) <--
But the macro works fine:
#;3> (my-and 1 2 3) 3 #;4> (my-and 2 #f 4) #f
But it works with other macros I have been using.
I'm using git Chicken master/HEAD, and expand-full 1.0.0.
J.
Change History (3)
comment:1 Changed 14 years ago by
Milestone: | 4.5.0 |
---|
comment:2 Changed 14 years ago by
comment:3 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
Looks like this has been fixed by in svn! :-)
Thanks Kon!