From 2607c1603ebffb3d0efe8c04da5a38a051d1cfe8 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Mon, 17 Feb 2014 23:24:21 -0800 Subject: [PATCH] Revert "updates" This reverts commit 185aa15ac2230515111b18d6b101fb920cf8a7d2. --- main.rkt | 23 ++++++++++------------- tests.rkt | 5 ----- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/main.rkt b/main.rkt index a49ec7c..a19b140 100644 --- a/main.rkt +++ b/main.rkt @@ -1,6 +1,6 @@ #lang racket/base (require (for-syntax racket/base)) -(require racket/contract racket/match xml racket/list sugar/debug) +(require racket/contract racket/match xml racket/list) (define-syntax (define+provide/contract stx) (syntax-case stx () @@ -137,17 +137,14 @@ [else x])) -(define+provide/contract (map-elements proc x [filter-proc (λ(x) #t)]) - ((procedure? tagged-xexpr?) (procedure?) . ->* . tagged-xexpr?) - (cond - [(tagged-xexpr? x) - (if (filter-proc x) - (let-values ([(tag attr elements) (tagged-xexpr->values x)]) - (make-tagged-xexpr tag attr - (map (λ(x)(map-elements proc x filter-proc)) elements))) - x)] - ;; externally the function only accepts tagged-xexpr, - ;; but internally we don't care - [else (proc x)])) +(define+provide/contract (map-elements proc x) + (procedure? tagged-xexpr? . -> . tagged-xexpr?) + (define-values (tag attr elements) (tagged-xexpr->values x)) + (define recursive-proc + (λ(x) + (cond + [(tagged-xexpr? x) (map-elements proc x)] + [else (proc x)]))) + (make-tagged-xexpr tag attr (map recursive-proc elements))) diff --git a/tests.rkt b/tests.rkt index 33be275..600b086 100644 --- a/tests.rkt +++ b/tests.rkt @@ -77,8 +77,3 @@ '(p "foo" "bar" (em "square"))) '(p "boing" "boing" (em "boing"))) -(require hyphenate sugar/debug) -(check-equal? (map-elements hyphenate '(p "foobar" (em "snowman")) (λ(tx) (not (equal? (car tx) 'em)))) '(p "foo\u00ADbar" (em "snowman"))) - - -