From 1d1cc0df84c3b906fc6108fab6ee27b8249580c5 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Wed, 21 Jun 2023 13:42:39 -0700 Subject: [PATCH] fix comparison operator (fixes #271) arguments are strings, so we need `equal?` --- pollen/private/ts.rktd | 2 +- pollen/render.rkt | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pollen/private/ts.rktd b/pollen/private/ts.rktd index 0e7bb31..04073bf 100644 --- a/pollen/private/ts.rktd +++ b/pollen/private/ts.rktd @@ -1 +1 @@ -1659659266 +1687380160 diff --git a/pollen/render.rkt b/pollen/render.rkt index 67fd988..b23c765 100644 --- a/pollen/render.rkt +++ b/pollen/render.rkt @@ -455,11 +455,12 @@ (with-handlers ([exn:fail:contract? (λ (e) #f)]) ; in case source-path doesn't work with cached-require (parameterize ([current-directory (current-project-root)]) (define source-metas (cached-metas source-path)) - (define template-name-or-names ; #f or atom or list - (select-from-metas pollen-template-meta-key source-metas)) - (define template-name (if (list? template-name-or-names) - (findf (λ (tn) (eq? (get-ext tn) output-path-ext)) template-name-or-names) - template-name-or-names)) + (define template-name (match (select-from-metas pollen-template-meta-key source-metas) ; #f or atom or list + [(? list? names) + (for/first ([name (in-list names)] + #:when (equal? (get-ext name) (->string output-path-ext))) + name)] + [other other])) (and template-name (simplify-path (cleanse-path (build-path (dirname source-path) template-name))))))) (define (get-default-template source-path output-path-ext)