diff options
Diffstat (limited to 'stdlib/op.tl')
-rw-r--r-- | stdlib/op.tl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/stdlib/op.tl b/stdlib/op.tl index 182055f0..06e87633 100644 --- a/stdlib/op.tl +++ b/stdlib/op.tl @@ -137,8 +137,12 @@ (let ((arg1 (sys:ensure-op-arg ctx 1))) ^(symacrolet ((,do-gen ,arg1)) ,syntax-2))) - (t (let ((arg1 (sys:ensure-op-arg ctx 1))) - (append syntax-2 (list arg1)))))) + (t (let* ((arg1 (sys:ensure-op-arg ctx 1)) + (syntax-0-alt (append args (list arg1))) + (syntax-1-alt (sys:op-alpha-rename f e + syntax-0-alt + nil))) + (sys:op-alpha-rename f e syntax-1-alt t))))) (t (append syntax-2 rest-sym)))))) (let ((metas (slot ctx 'gens))) (cond |