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

ruby-changes:3860

From: ko1@a...
Date: Thu, 31 Jan 2008 02:22:00 +0900 (JST)
Subject: [ruby-changes:3860] matz - Ruby:r15349 (trunk): * parse.y (dsym): allow empty symbols.

matz	2008-01-31 02:20:48 +0900 (Thu, 31 Jan 2008)

  New Revision: 15349

  Modified files:
    trunk/ChangeLog
    trunk/parse.y

  Log:
    * parse.y (dsym): allow empty symbols.  [ruby-core:15248]

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/parse.y?r1=15349&r2=15348&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15349&r2=15348&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 15348)
+++ ChangeLog	(revision 15349)
@@ -1,3 +1,7 @@
+Thu Jan 31 02:15:49 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* parse.y (dsym): allow empty symbols.  [ruby-core:15248]
+
 Thu Jan 31 00:01:51 2008  Tanaka Akira  <akr@f...>
 
 	* io.c (select_internal): fix SEGV by `select [STDIN],nil,[STDIN]'.
Index: parse.y
===================================================================
--- parse.y	(revision 15348)
+++ parse.y	(revision 15349)
@@ -3868,8 +3868,7 @@
 		    /*%%%*/
 			lex_state = EXPR_ENDARG;
 			if (!($$ = $2)) {
-			    $$ = NEW_NIL();
-			    yyerror("empty symbol literal");
+			    $$ = NEW_LIT(ID2SYM(rb_intern("")));
 			}
 			else {
 			    VALUE lit;
@@ -3880,10 +3879,6 @@
 				break;
 			      case NODE_STR:
 				lit = $$->nd_lit;
-				if (RSTRING_LEN(lit) == 0) {
-				    yyerror("empty symbol literal");
-				    break;
-				}
 				$$->nd_lit = ID2SYM(rb_intern_str(lit));
 				nd_set_type($$, NODE_LIT);
 				break;

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

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