[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]