diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-29 18:40:48 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-29 18:40:48 +0000 |
commit | 5d394118fff7fb94cbba4fc2e3f6d740932e33ce (patch) | |
tree | cd9447523d9ad885f41f5299dea78b8e2db4ec8f /parse.y | |
parent | abeb6dce85257f97e1674da67f10c02637a1a09a (diff) | |
download | ruby-5d394118fff7fb94cbba4fc2e3f6d740932e33ce.tar.gz |
* 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
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 15 |
1 files changed, 0 insertions, 15 deletions
@@ -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) { |