ruby-changes:17135
From: nobu <ko1@a...>
Date: Sun, 29 Aug 2010 12:51:45 +0900 (JST)
Subject: [ruby-changes:17135] Ruby:r29135 (trunk): * load.c (rb_provide_feature): clarify error message for frozen
nobu 2010-08-29 12:51:39 +0900 (Sun, 29 Aug 2010) New Revision: 29135 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29135 Log: * load.c (rb_provide_feature): clarify error message for frozen $LOADED_FEATURES. based on a patch from Run Paint Run Run at [ruby-core:31913]. Modified files: trunk/ChangeLog trunk/load.c trunk/test/ruby/test_require.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 29134) +++ ChangeLog (revision 29135) @@ -1,3 +1,9 @@ +Sun Aug 29 12:51:33 2010 Nobuyoshi Nakada <nobu@r...> + + * load.c (rb_provide_feature): clarify error message for frozen + $LOADED_FEATURES. based on a patch from Run Paint Run Run at + [ruby-core:31913]. + Sun Aug 29 12:19:58 2010 Nobuyoshi Nakada <nobu@r...> * load.c (load_failed): should honor encoding. [ruby-core:31915] Index: load.c =================================================================== --- load.c (revision 29134) +++ load.c (revision 29135) @@ -250,6 +250,10 @@ static void rb_provide_feature(VALUE feature) { + if (OBJ_FROZEN(get_loaded_features())) { + rb_raise(rb_eRuntimeError, + "$LOADED_FEATURES is frozen; cannot append feature"); + } rb_ary_push(get_loaded_features(), feature); } Index: test/ruby/test_require.rb =================================================================== --- test/ruby/test_require.rb (revision 29134) +++ test/ruby/test_require.rb (revision 29135) @@ -310,4 +310,11 @@ } } end + + def test_frozen_loaded_features + bug3756 = '[ruby-core:31913]' + assert_in_out_err(['-e', '$LOADED_FEATURES.freeze; require "ostruct"'], "", + [], /\$LOADED_FEATURES is frozen; cannot append feature \(RuntimeError\)$/, + bug3756) + end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/