From 400e461d75e0ebdc229686661a0d88c62421f870 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 26 Apr 2013 07:09:24 -0600 Subject: [PATCH] fix a parameter check --- collects/tests/racket/param.rktl | 9 +++++++++ src/racket/src/read.c | 15 ++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/collects/tests/racket/param.rktl b/collects/tests/racket/param.rktl index 4538f2a8c8..20c44b83c2 100644 --- a/collects/tests/racket/param.rktl +++ b/collects/tests/racket/param.rktl @@ -528,4 +528,13 @@ (when (file-exists? temp-compiled-file) (delete-file temp-compiled-file)) +(err/rt-test (read-on-demand-source 5)) +(err/rt-test (read-on-demand-source "x")) +(test (find-system-path 'temp-dir) 'rods (parameterize ([read-on-demand-source (find-system-path 'temp-dir)]) + (read-on-demand-source))) +(test #f 'rods (parameterize ([read-on-demand-source #f]) + (read-on-demand-source))) + +;; ---------------------------------------- + (report-errs) diff --git a/src/racket/src/read.c b/src/racket/src/read.c index ac4d62c8b0..5a8be1f51f 100644 --- a/src/racket/src/read.c +++ b/src/racket/src/read.c @@ -799,11 +799,12 @@ static Scheme_Object *rdl_check(int argc, Scheme_Object **argv) { Scheme_Object *s = argv[0]; - return (SCHEME_FALSEP(s) - || (SCHEME_PATHP(s) - && scheme_is_complete_path(SCHEME_PATH_VAL(s), - SCHEME_PATH_LEN(s), - SCHEME_PLATFORM_PATH_KIND))); + return ((SCHEME_FALSEP(s) + || (SCHEME_PATHP(s) + && scheme_is_complete_path(SCHEME_PATH_VAL(s), + SCHEME_PATH_LEN(s), + SCHEME_PLATFORM_PATH_KIND))) + ? scheme_true : scheme_false); } static Scheme_Object * @@ -813,8 +814,8 @@ read_delay_load(int argc, Scheme_Object *argv[]) scheme_make_integer(MZCONFIG_DELAY_LOAD_INFO), argc, argv, -1, rdl_check, - "(or/c #f (and/c path-string? complete-path?))", - 1); + "(or/c #f (and/c path? complete-path?))", + 0); } #endif