diff --git a/ChangeLog b/ChangeLog index bd712c3daa..0474f92093 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Oct 20 00:25:41 2004 Nobuyoshi Nakada + + * eval.c (search_required): required name must not be changed before + loading. [ruby-dev:24492] + Tue Oct 19 23:59:46 2004 Nobuyoshi Nakada * eval.c (rb_require_safe): provide the feature after loaded. diff --git a/eval.c b/eval.c index 220af68294..81d380eb84 100644 --- a/eval.c +++ b/eval.c @@ -6678,7 +6678,7 @@ search_required(fname, featurep, path) char *ext, *ftptr; int type; - *featurep = fname; + *featurep = fname = rb_str_new4(fname); *path = 0; ext = strrchr(ftptr = RSTRING(fname)->ptr, '.'); if (ext && !strchr(ext, '/')) { @@ -6777,10 +6777,6 @@ rb_require_safe(fname, safe) /* partial state */ ftptr = ruby_strdup(RSTRING(feature)->ptr); st_insert(loading_tbl, (st_data_t)ftptr, (st_data_t)curr_thread); - if (feature == fname && !OBJ_FROZEN(feature)) { - feature = rb_str_dup(feature); - OBJ_FREEZE(feature); - } rb_load(path, 0); break;