fix module-code cache to key on `current-load-relative-directory'

since that parameter affects the way that code is read
This commit is contained in:
Matthew Flatt 2011-05-03 16:21:23 -06:00
parent f3c73a197e
commit 086d582c0f
2 changed files with 4 additions and 2 deletions

View File

@ -4136,7 +4136,9 @@ static Scheme_Object *do_load_handler(void *data)
if (obj) {
/* CERT-INSP-CACHE <- grep for that in read.c */
obj = scheme_make_pair(obj, scheme_get_param(config, MZCONFIG_CODE_INSPECTOR));
obj = scheme_make_pair(obj,
scheme_make_pair(scheme_get_param(config, MZCONFIG_LOAD_DIRECTORY),
scheme_get_param(config, MZCONFIG_CODE_INSPECTOR)));
obj = scheme_lookup_in_table(scheme_module_code_cache, (const char *)obj);
if (obj)
obj = scheme_ephemeron_value(obj);

View File

@ -5599,7 +5599,7 @@ static Scheme_Object *read_compiled(Scheme_Object *port,
inspector is the same, but maybe certificates can be
fixed and this hack son't be necessary one day. Grep for
CERT-INSP-CACHE elsewhere for other places to change. */
hc = scheme_make_pair(hc, insp);
hc = scheme_make_pair(hc, scheme_make_pair(dir, insp));
m->code_key = hc;
}