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

ruby-changes:21272

From: yugui <ko1@a...>
Date: Sat, 24 Sep 2011 14:21:30 +0900 (JST)
Subject: [ruby-changes:21272] yugui:r33321 (ruby_1_9_3): merges r33291 from trunk into ruby_1_9_3.

yugui	2011-09-24 14:21:19 +0900 (Sat, 24 Sep 2011)

  New Revision: 33321

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33321

  Log:
    merges r33291 from trunk into ruby_1_9_3.
    --
    * parse.y (parser_data_type): inherit the core type in ripper so
      that checks in core would work.  [ruby-core:39591] [Bug #5331]

  Added files:
    branches/ruby_1_9_3/test/ripper/test_ripper.rb
  Modified files:
    branches/ruby_1_9_3/ChangeLog
    branches/ruby_1_9_3/parse.y

Index: ruby_1_9_3/ChangeLog
===================================================================
--- ruby_1_9_3/ChangeLog	(revision 33320)
+++ ruby_1_9_3/ChangeLog	(revision 33321)
@@ -1,3 +1,8 @@
+Sat Sep 17 23:34:10 2011  Nobuyoshi Nakada  <nobu@r...>
+
+	* parse.y (parser_data_type): inherit the core type in ripper so
+	  that checks in core would work.  [ruby-core:39591] [Bug #5331]
+
 Fri Sep 23 14:15:01 2011  Martin Bosslet  <Martin.Bosslet@g...>
 
 	* ext/openssl/ossl_asn1.c
Index: ruby_1_9_3/parse.y
===================================================================
--- ruby_1_9_3/parse.y	(revision 33320)
+++ ruby_1_9_3/parse.y	(revision 33321)
@@ -5290,9 +5290,11 @@
     return line;
 }
 
+#ifdef RIPPER
+static rb_data_type_t parser_data_type;
+#else
 static const rb_data_type_t parser_data_type;
 
-#ifndef RIPPER
 static NODE*
 parser_compile_string(volatile VALUE vparser, const char *f, VALUE s, int line)
 {
@@ -10193,7 +10195,11 @@
     return size;
 }
 
-static const rb_data_type_t parser_data_type = {
+static
+#ifndef RIPPER
+const
+#endif
+rb_data_type_t parser_data_type = {
     "parser",
     {
 	parser_mark,
@@ -10809,11 +10815,19 @@
 }
 #endif
 
+
 void
+InitVM_ripper(void)
+{
+    parser_data_type.parent = RTYPEDDATA_TYPE(rb_parser_new());
+}
+
+void
 Init_ripper(void)
 {
     VALUE Ripper;
 
+    InitVM(ripper);
     Ripper = rb_define_class("Ripper", rb_cObject);
     rb_define_const(Ripper, "Version", rb_usascii_str_new2(RIPPER_VERSION));
     rb_define_alloc_func(Ripper, ripper_s_allocate);
Index: ruby_1_9_3/test/ripper/test_ripper.rb
===================================================================
--- ruby_1_9_3/test/ripper/test_ripper.rb	(revision 0)
+++ ruby_1_9_3/test/ripper/test_ripper.rb	(revision 33321)
@@ -0,0 +1,49 @@
+begin
+  require 'ripper'
+  require 'test/unit'
+  ripper_test = true
+  module TestRipper; end
+rescue LoadError
+end
+
+class TestRipper::Ripper < Test::Unit::TestCase
+
+  def setup
+    @ripper = Ripper.new '1 + 1'
+  end
+
+  def test_column
+    assert_nil @ripper.column
+  end
+
+  def test_encoding
+    assert_equal Encoding::US_ASCII, @ripper.encoding
+  end
+
+  def test_end_seen_eh
+    refute @ripper.end_seen?
+  end
+
+  def test_filename
+    assert_equal '(ripper)', @ripper.filename
+  end
+
+  def test_lineno
+    assert_nil @ripper.lineno
+  end
+
+  def test_parse
+    refute @ripper.parse
+  end
+
+  def test_yydebug
+    refute @ripper.yydebug
+  end
+
+  def test_yydebug_equals
+    @ripper.yydebug = true
+
+    assert @ripper.yydebug
+  end
+
+end if ripper_test

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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