From 5d394118fff7fb94cbba4fc2e3f6d740932e33ce Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 29 May 2010 18:40:48 +0000 Subject: * parse.y (parser_tokadd_utf8, parser_tokadd_string): allow NUL containing symbol literals, as well as String#to_sym. [ruby-dev:41447] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index b230edfa46..de675a2998 100644 --- a/parse.y +++ b/parse.y @@ -5487,11 +5487,6 @@ parser_tokadd_utf8(struct parser_params *parser, rb_encoding **encp, if (string_literal) tokaddmbc(codepoint, *encp); } else if (string_literal) { - if (codepoint == 0 && symbol_literal) { - yyerror("symbol cannot contain '\\u{0}'"); - return 0; - } - tokadd(codepoint); } } while (string_literal && (peek(' ') || peek('\t'))); @@ -5519,11 +5514,6 @@ parser_tokadd_utf8(struct parser_params *parser, rb_encoding **encp, if (string_literal) tokaddmbc(codepoint, *encp); } else if (string_literal) { - if (codepoint == 0 && symbol_literal) { - yyerror("symbol cannot contain '\\u0000'"); - return 0; - } - tokadd(codepoint); } } @@ -5879,11 +5869,6 @@ parser_tokadd_string(struct parser_params *parser, pushback(c); break; } - if (!c && (func & STR_FUNC_SYMBOL)) { - func &= ~STR_FUNC_SYMBOL; - compile_error(PARSER_ARG "symbol cannot contain '\\0'"); - continue; - } if (c & 0x80) { has_nonascii = 1; if (enc != *encp) { -- cgit v1.2.3