hopefully fix xform interaction with FDSET_LIMIT

svn: r7825
This commit is contained in:
Matthew Flatt 2007-11-23 23:10:54 +00:00
parent 19d59da08b
commit 28980d9e4e
3 changed files with 11 additions and 8 deletions

View File

@ -2480,8 +2480,9 @@ scheme_lookup_binding(Scheme_Object *find_id, Scheme_Comp_Env *env, int flags,
if (!genv) {
scheme_wrong_syntax("require", NULL, src_find_id,
"broken compiled code (phase %d, defn-phase %d): cannot find module %D",
env->genv->phase, mod_defn_phase, modname);
"namespace mismatch; reference (phase %d) to a module"
" %D that is not instantiated (phase %d)",
env->genv->phase, modname, mod_defn_phase);
return NULL;
}
}

View File

@ -1731,11 +1731,13 @@ static Scheme_Object *link_module_variable(Scheme_Object *modidx,
if (!menv) {
scheme_wrong_syntax("link", NULL, varname,
"broken compiled code (phase %d, defn-phase %d, in %D), no declaration for module"
": %D",
env->phase, mod_phase,
env->module ? env->module->modname : scheme_false,
modname);
"namespace mismatch; reference (phase %d) to a module"
" %D that is not instantiated (phase %d); reference"
" appears in module: %D",
env->phase,
modname,
mod_phase,
env->module ? env->module->modname : scheme_false);
return NULL;
}

View File

@ -771,7 +771,7 @@ void scheme_fdset(void *fd, int n)
#endif
#if defined(FILES_HAVE_FDS) || defined(USE_SOCKETS_TCP)
# define STORED_ACTUAL_FDSET_LIMIT
# define FDSET_LIMIT(fd) (*(int *)((char *)fd + dynamic_fd_size))
# define FDSET_LIMIT(fd) (*(int *)((char *)fd XFORM_OK_PLUS dynamic_fd_size))
int mx;
mx = FDSET_LIMIT(fd);
if (n > mx)