From af9e891215dbe535ce4725997ab636294795f557 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 5 Sep 2014 15:24:12 -0600 Subject: [PATCH] module caching: ensure consistency of directory paths Use `path->directory-path` to normalize directory paths and increase use of the cache. --- racket/src/racket/src/portfun.c | 6 +++++- racket/src/racket/src/read.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/racket/src/racket/src/portfun.c b/racket/src/racket/src/portfun.c index b7be74c9dc..edd397d264 100644 --- a/racket/src/racket/src/portfun.c +++ b/racket/src/racket/src/portfun.c @@ -4578,7 +4578,11 @@ static Scheme_Object *do_load_handler(void *data) if (obj) { - obj = scheme_make_pair(obj, scheme_get_param(config, MZCONFIG_LOAD_DIRECTORY)); + Scheme_Object *dir; + dir = scheme_get_param(config, MZCONFIG_LOAD_DIRECTORY); + if (SCHEME_TRUEP(dir)) + dir = scheme_path_to_directory_path(dir); + obj = scheme_make_pair(obj, dir); obj = scheme_lookup_in_table(scheme_module_code_cache, (const char *)obj); if (obj) obj = scheme_ephemeron_value(obj); diff --git a/racket/src/racket/src/read.c b/racket/src/racket/src/read.c index a3ae7fe73d..e549adccf4 100644 --- a/racket/src/racket/src/read.c +++ b/racket/src/racket/src/read.c @@ -5556,6 +5556,8 @@ static Scheme_Object *read_compiled(Scheme_Object *port, config = scheme_current_config(); dir = scheme_get_param(config, MZCONFIG_LOAD_DIRECTORY); + if (SCHEME_TRUEP(dir)) + dir = scheme_path_to_directory_path(dir); rp->relto = dir; rp->magic_sym = params->magic_sym;