From 95cbad84ec6608fd88d3b6128bb7e812f01af75c Mon Sep 17 00:00:00 2001 From: matz Date: Sat, 30 Oct 2004 06:56:18 +0000 Subject: * eval.c (rb_eval): NODE_XSTR should pass copy of literal string. * array.c (rb_ary_update): a[n,m]=nil no longer works as element deletion. * enum.c (enum_sort_by): protect continuation jump in. [ruby-dev:24642] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7145 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 4b5c02774..51a37da65 100644 --- a/parse.y +++ b/parse.y @@ -490,9 +490,9 @@ static void ripper_compile_error _((struct parser_params*, const char *fmt, ...) %type f_arglist f_args f_optarg f_opt f_block_arg opt_f_block_arg %type assoc_list assocs assoc kwargs undef_list backref string_dvar %type for_var block_var opt_block_var block_par -%type brace_block cmd_brace_block do_block lhs none +%type brace_block cmd_brace_block do_block lhs none fitem %type mlhs mlhs_head mlhs_basic mlhs_entry mlhs_item mlhs_node -%type fitem variable sym symbol operation operation2 operation3 +%type fsym variable sym symbol operation operation2 operation3 %type cname fname op f_rest_arg %type f_norm_arg f_arg /*%%%*/ @@ -1511,10 +1511,21 @@ fname : tIDENTIFIER } ; -fitem : fname +fsym : fname | symbol ; +fitem : fsym + { + /*%%%*/ + $$ = NEW_LIT(ID2SYM($1)); + /*% + $$ = dispatch1(symbol_literal, $1); + %*/ + } + | dsym + ; + undef_list : fitem { /*%%%*/ -- cgit