 ===================================================================
 --- test/ruby/test_iseq.rb	(revision 28642)
 +++ test/ruby/test_iseq.rb	(working copy)
-@@ -0,0 +1,1 @@
+@@ -0,0 +1,50 @@
 +# See that setting ISEQS__ and SCRIPT_ISEQS__ saves 
 +# RubyVM::Instruction_sequenses
 +require 'test/unit'
 +
 +class TestIseqAccess < Test::Unit::TestCase
++  def setup
++    old_verbosity = $VERBOSE
++    $VERBOSE = nil
++    Kernel.const_set(:ISEQS__, {})
++    Kernel.const_set(:SCRIPT_ISEQS__, {})
++    $VERBOSE = old_verbosity
++  end
++
++  def teardown
++    old_verbosity = $VERBOSE
++    $VERBOSE = nil
++    Kernel.const_set(:ISEQS__, nil)
++    Kernel.const_set(:SCRIPT_ISEQS__, nil)
++    $VERBOSE = old_verbosity
++  end
++
 +  def test_basic
-+    Kernel.const_set(:SCRIPT_ISEQS__, {})
-+    Kernel.const_set(:ISEQS__, {})
 +    sizes=[]
 +    [ISEQS__, SCRIPT_ISEQS__].each do |iseq_hash|
 +      sizes << iseq_hash.size

+	/* FIXME: check that offset is at a valid instruction offset */
+	if (uoffset >= size) {
+	    rb_raise(rb_eTypeError, 
+		     "instruction sequence offset %lu should be in the range -%l .. %lu",
+		     uoffset, size, size-1);
+	}
+	return uoffset;

+ *  call-seq:
+ *     RubyVM::InstructionSequence#dealloc -> bool
+ *
+ *  Deallocates a breakpoint byte vector of zeros for each 
+ *  instruction in the instruction sequence. True is returned if 
+ *  a vector was allocated, false if there already was one allocated,
+ *  and nil if there was some problem.
