diff --git a/ChangeLog b/ChangeLog index c2dea145e2..5f48b34925 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Mar 24 19:23:52 2008 Akinori MUSHA + + * parse.y (debug_lines): Always prepare a new array for each + file's SCRIPT_LINES__ storage, instead of appending source lines + every time a file is re-loaded; submitted by Rocky Bernstein in + #18517. + Mon Mar 24 10:25:54 2008 Nobuyoshi Nakada * configure.in: sitearch should use target_cpu. [ruby-core:15986] diff --git a/parse.y b/parse.y index 33aba9b6fa..8181c5c40a 100644 --- a/parse.y +++ b/parse.y @@ -4680,11 +4680,8 @@ debug_lines(const char *f) VALUE hash = rb_const_get_at(rb_cObject, rb_intern("SCRIPT_LINES__")); if (TYPE(hash) == T_HASH) { VALUE fname = rb_str_new2(f); - VALUE lines = rb_hash_lookup(hash, fname); - if (NIL_P(lines)) { - lines = rb_ary_new(); - rb_hash_aset(hash, fname, lines); - } + VALUE lines = rb_ary_new(); + rb_hash_aset(hash, fname, lines); return lines; } }