From 354794a1856a73324e2ffb492040cfacef65d7d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georges=20Dup=C3=A9ron?= Date: Fri, 23 Sep 2016 00:31:08 +0200 Subject: [PATCH] Preemptive bugfix --- private/before-after.rkt | 31 ++++++++++++++++++------------- private/no-order.rkt | 2 +- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/private/before-after.rkt b/private/before-after.rkt index 0d858f0..bcc9a01 100644 --- a/private/before-after.rkt +++ b/private/before-after.rkt @@ -6,7 +6,8 @@ syntax/parse phc-toolkit/untyped) "no-order.rkt" - "pre.rkt") + "pre.rkt" + "parameters.rkt") (provide ~before ~after @@ -19,9 +20,10 @@ [(_ other message pat …) (and (identifier? #'other) (string? (syntax-e #'message))) - #'{~order-point pt - {~seq pat …} - {~pre-fail message #:when (order-point> pt other)}}]))) + (with-syntax ([pt (get-new-clause!)]) + #'{~order-point pt + {~seq pat …} + {~pre-fail message #:when (order-point> pt other)}})]))) (define-eh-mixin-expander ~after (λ (stx) @@ -29,9 +31,10 @@ [(_ other message pat …) (and (identifier? #'other) (string? (syntax-e #'message))) - #'{~order-point pt - {~seq pat …} - {~pre-fail message #:when (order-point< pt other)}}]))) + (with-syntax ([pt (get-new-clause!)]) + #'{~order-point pt + {~seq pat …} + {~pre-fail message #:when (order-point< pt other)}})]))) (define-eh-mixin-expander ~try-before (λ (stx) @@ -39,9 +42,10 @@ [(_ other message pat …) (and (identifier? #'other) (string? (syntax-e #'message))) - #'{~order-point pt - {~seq pat …} - {~pre-fail message #:when (try-order-point> pt other)}}]))) + (with-syntax ([pt (get-new-clause!)]) + #'{~order-point pt + {~seq pat …} + {~pre-fail message #:when (try-order-point> pt other)}})]))) (define-eh-mixin-expander ~try-after (λ (stx) @@ -49,6 +53,7 @@ [(_ other message pat …) (and (identifier? #'other) (string? (syntax-e #'message))) - #'{~order-point pt - {~seq pat …} - {~pre-fail message #:when (try-order-point< pt other)}}]))) \ No newline at end of file + (with-syntax ([pt (get-new-clause!)]) + #'{~order-point pt + {~seq pat …} + {~pre-fail message #:when (try-order-point< pt other)}})]))) \ No newline at end of file diff --git a/private/no-order.rkt b/private/no-order.rkt index d6636f9..360f129 100644 --- a/private/no-order.rkt +++ b/private/no-order.rkt @@ -216,7 +216,7 @@ 1) (string-append "more than one of the lifted rest" " patterns matched")})))) - ((λ (x) #;(pretty-write (syntax->datum x)) x) + ((λ (x) (pretty-write (syntax->datum x)) x) #`(~delimit-cut (~and #,(fix-disappeared-uses) whole-clause-pat