From 512d953a017d663786e39a93f83278c80dc7dd93 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sat, 4 May 2013 19:53:35 -0500 Subject: [PATCH] add error checking --- collects/racket/syntax.rkt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/collects/racket/syntax.rkt b/collects/racket/syntax.rkt index 5a8aee746c..02ed9f389f 100644 --- a/collects/racket/syntax.rkt +++ b/collects/racket/syntax.rkt @@ -73,12 +73,25 @@ disappeared-uses)))) (define (syntax-local-value/record id pred) + (unless (identifier? id) + (raise-argument-error 'syntax-local-value/record + "identifier?" + 0 id pred)) + (unless (and (procedure? id) + (procedure-arity-includes? id 1)) + (raise-argument-error 'syntax-local-value/record + "(-> any/c boolean?)" + 1 id pred)) (let ([value (syntax-local-value id (lambda () #f))]) (and (pred value) (begin (record-disappeared-uses (list id)) value)))) (define (record-disappeared-uses ids) + (unless (and (list? ids) (andmap identifier? ids)) + (raise-argument-error 'record-disappeared-uses + "(listof identifier?)" + ids)) (let ([uses (current-recorded-disappeared-uses)]) (when uses (current-recorded-disappeared-uses