diff --git a/lib/init-7.scm b/lib/init-7.scm index 63e133af..73585406 100644 --- a/lib/init-7.scm +++ b/lib/init-7.scm @@ -691,7 +691,7 @@ (_vector->list (rename 'vector->list)) (_list->vector (rename 'list->vector)) (_cons3 (rename 'cons-source))) - (define ellipsis (if ellipsis-specified? (cadr expr) '...)) + (define ellipsis (if ellipsis-specified? (cadr expr) (rename '...))) (define lits (if ellipsis-specified? (car (cddr expr)) (cadr expr))) (define forms (if ellipsis-specified? (cdr (cddr expr)) (cddr expr))) (define (next-symbol s) diff --git a/tests/syntax-tests.scm b/tests/syntax-tests.scm index e90f4ce8..5ee429fc 100644 --- a/tests/syntax-tests.scm +++ b/tests/syntax-tests.scm @@ -68,4 +68,10 @@ (define-syntax enn (syntax-rules ...1 () ((enn args ...1) (quote (args ...1)))))) +(let ((... 'local)) + (define-syntax asd + (syntax-rules () + ((asd x ...) (quote (... x))))) + (test '(2 1) (asd 1 2))) + (test-end)