From b6167c23d5c5db00599ddee93c2ca6d14609c7f1 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 20 Dec 2010 07:25:19 -0700 Subject: [PATCH] fix R5RS `caar', etc., when used in a non-application position Closes PR 11558 --- collects/r5rs/main.rkt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/collects/r5rs/main.rkt b/collects/r5rs/main.rkt index 5b52290fa5..e0650d87dd 100644 --- a/collects/r5rs/main.rkt +++ b/collects/r5rs/main.rkt @@ -79,11 +79,14 @@ (syntax-rules () [(_ id orig mc1r mc2r) (begin + (define proc-id + (let ([id (lambda (x) (mc1r (mc2r x)))]) + id)) (define-syntax id (syntax-id-rules (set!) [(_ x) (mc1r (mc2r x))] [(set! _ v) (set! orig v)] - [_ (lambda (x) (mc1r (mc2r x)))])) + [_ proc-id])) (provide (rename-out [id orig])))])) (provide-inlined-combo mcaar caar mcar mcar)