From 54a04074256fa85db5da3bf0041773ddc3391196 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 3 Mar 2004 04:55:35 +0000 Subject: * eval.c (method_hash): new method. [ruby-talk:93968] * eval.c (proc_eq): do not compare dyna_vars. * eval.c (proc_hash): new method. * eval.c (rb_yield_0): protect break/return from within orphan (or lambda) Proc object. * parse.y (yylex): should not allow symbol for invalid global variable (e.g. `:$-)`). [ruby-core:02518] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index c116605047..471c8a8d2f 100644 --- a/parse.y +++ b/parse.y @@ -4244,7 +4244,10 @@ yylex() tokadd(c); tokfix(); yylval.id = rb_intern(tok()); - /* xxx shouldn't check if valid option variable */ + if (!is_global_id(yylval.id)) { + rb_compile_error("invalid global variable `%s'", rb_id2name(yylval.id)); + return 0; + } return tGVAR; case '&': /* $&: last match */ -- cgit v1.2.3