diff --git a/collects/honu/core/private/parse2.rkt b/collects/honu/core/private/parse2.rkt index a3f95bd66c..aba4c70930 100644 --- a/collects/honu/core/private/parse2.rkt +++ b/collects/honu/core/private/parse2.rkt @@ -153,16 +153,6 @@ (debug 2 "Comma? ~a ~a\n" what is) is) -#; -(define-syntax (parse-more stx) - (syntax-parse stx - [(_ stuff ...) - (define-values (parsed unparsed) - (parse (strip-stops #'(stuff ...)))) - (with-syntax ([(parsed-out ...) (honu->racket parsed)] - [(unparsed-out ...) unparsed]) - #'(begin parsed-out ... (parse-stuff unparsed-out ...)))])) - (define (do-parse stx parse-more) (syntax-parse stx [(_ stuff ...) @@ -518,14 +508,3 @@ (provide honu-expression/comma) (define-splicing-syntax-class honu-expression/comma [pattern (~seq x ...) #:with (result ...) (parse-comma-expression #'(x ...))]) - -#| -(provide honu-body) -(define-splicing-syntax-class honu-body - #:literal-sets (cruft) - [pattern (~seq (#%braces code ...)) - #:with result #'(let-syntax ([parse-more (lambda (stx) - (honu->racket (parse-all #'(code ...))))]) - (parse-more))]) -|# - diff --git a/collects/tests/honu/macros2.honu b/collects/tests/honu/macros2.honu new file mode 100644 index 0000000000..5e573f7749 --- /dev/null +++ b/collects/tests/honu/macros2.honu @@ -0,0 +1,25 @@ +#lang honu + +macro foo (){ x:identifier }{ + syntax(macro x (){ e:expression }{ + syntax(e + 2) + }) +} + +foo h + +h 5 +h 8 * 9 + +test(z){ + macro foo (){ x:identifier }{ + syntax(macro x (){ e:expression }{ + syntax(e + z) + }) + } + + foo h + h 5 +} + +test(4)