Allow instanciation of places with resolved module paths

This commit is contained in:
Kevin Tew 2011-11-30 18:04:22 -07:00
parent 958ad908ab
commit 3b0568b39c
4 changed files with 4 additions and 4 deletions

View File

@ -236,7 +236,6 @@ THREAD_LOCAL_DECL(static Scheme_Object *global_shift_cache);
# define SHIFT_CACHE_NULLP(x) !(x) # define SHIFT_CACHE_NULLP(x) !(x)
#endif #endif
#define SCHEME_MODNAMEP(obj) SAME_TYPE(SCHEME_TYPE(obj), scheme_resolved_module_path_type)
#define SCHEME_RMP_VAL(obj) SCHEME_PTR_VAL(obj) #define SCHEME_RMP_VAL(obj) SCHEME_PTR_VAL(obj)
typedef void (*Check_Func)(Scheme_Object *prnt_name, Scheme_Object *name, typedef void (*Check_Func)(Scheme_Object *prnt_name, Scheme_Object *name,

View File

@ -309,8 +309,8 @@ Scheme_Object *scheme_place(int argc, Scheme_Object *args[]) {
out_arg = args[3]; out_arg = args[3];
err_arg = args[4]; err_arg = args[4];
if (!scheme_is_module_path(args[0]) && !SCHEME_PATHP(args[0])) { if (!scheme_is_module_path(args[0]) && !SCHEME_PATHP(args[0]) && !SCHEME_MODNAMEP(args[0])) {
scheme_wrong_type("dynamic-place", "module-path or path", 0, argc, args); scheme_wrong_type("dynamic-place", "module-path or path of resolved-module-path", 0, argc, args);
} }
if (!SCHEME_SYMBOLP(args[1])) { if (!SCHEME_SYMBOLP(args[1])) {
scheme_wrong_type("dynamic-place", "symbol", 1, argc, args); scheme_wrong_type("dynamic-place", "symbol", 1, argc, args);

View File

@ -3176,6 +3176,8 @@ Scheme_Object *scheme_modidx_shift(Scheme_Object *modidx,
Scheme_Object *shift_to_modidx); Scheme_Object *shift_to_modidx);
#define SCHEME_RMPP(o) (SAME_TYPE(SCHEME_TYPE((o)), scheme_resolved_module_path_type)) #define SCHEME_RMPP(o) (SAME_TYPE(SCHEME_TYPE((o)), scheme_resolved_module_path_type))
#define SCHEME_MODNAMEP(obj) (SAME_TYPE(SCHEME_TYPE(obj), scheme_resolved_module_path_type))
Scheme_Object *scheme_intern_resolved_module_path(Scheme_Object *o); Scheme_Object *scheme_intern_resolved_module_path(Scheme_Object *o);
Scheme_Object *scheme_resolved_module_path_value(Scheme_Object *rmp); Scheme_Object *scheme_resolved_module_path_value(Scheme_Object *rmp);
int scheme_resolved_module_path_value_matches(Scheme_Object *rmp, Scheme_Object *o); int scheme_resolved_module_path_value_matches(Scheme_Object *rmp, Scheme_Object *o);

View File

@ -881,7 +881,6 @@ static void module_validate(Scheme_Object *data, Mz_CPort *port,
m = (Scheme_Module *)data; m = (Scheme_Module *)data;
# define SCHEME_MODNAMEP(obj) SAME_TYPE(SCHEME_TYPE(obj), scheme_resolved_module_path_type)
if (!SCHEME_MODNAMEP(m->modname)) if (!SCHEME_MODNAMEP(m->modname))
scheme_ill_formed_code(port); scheme_ill_formed_code(port);