Commit graph

364 commits

Author SHA1 Message Date
nobu
0ba42821dd * parse.y (parser_yylex): return non-valid token for an invalid
instance/class variable name.  a patch from from Yusuke ENDOH
  <mame AT tsg.ne.jp>.  [ruby-dev:31095]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 15:17:02 +00:00
nobu
fbf7e8ca5c * parse.y (dsym): return non-null NODE even if yyerror(). based on a
patch from from Yusuke ENDOH <mame AT tsg.ne.jp>.  [ruby-dev:31085]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-29 02:23:13 +00:00
matz
fe2900b515 * parse.y (parser_yylex): should set command_start after block
starting "do"s and braces.  [ruby-core:10916]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@12179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-16 07:44:56 +00:00
knu
deeafa0e17 * env.h (SCOPE_CLONE): Introduce a new scope flag to prevent a
local_tbl region from getting freed many times; submitted by
  Chikanaga Tomoyuki <chikanag AT nippon-control-system.co.jp> in
  [ruby-dev:30460].

* eval.c (proc_invoke): Ditto.

* gc.c (obj_free): Ditto.

* parse.y (top_local_setup_gen): Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-03 07:28:54 +00:00
nobu
ed3fdff77e * parse.y (stmt, arg): should not omit lhs of OP_ASGN1 even if
empty.  [ruby-dev:30452]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-01 12:38:05 +00:00
tadf
966bde8a27 just a minor change
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-19 16:53:26 +00:00
tadf
887d2c6775 just a minor change
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-19 14:56:08 +00:00
matz
e43d14725f * parse.y (dyna_var_lookup): should not alter dvar->val not to
destroy living value.  [ruby-core:10076]

* parse.y (dyna_init): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-27 14:25:02 +00:00
matz
b52503466d * parse.y (dyna_init_gen): dvar initialization only if dvar is
assigned inner block.  [ruby-talk:227402]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-04 08:03:54 +00:00
usa
9bc5dc7a9d * parse.y (primary): should set NODE when compstmt is NULL.
marge from trunk. fixed: [ruby-dev:29732]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-11-02 06:45:50 +00:00
nobu
fe5a5ed0ec * parse.y (parser_yylex): use particular enums. [ruby-core:09221]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-17 15:56:28 +00:00
matz
52f9a3ec26 * parse.y (singleton): no need to re-create NODE_SELF() again.
[ruby-core:09177]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-14 14:46:16 +00:00
matz
f172c27683 * parse.y (parser_warning, parser_warn): some error message may
contain format specifiers.  a patch from Akinori MUSHA <knu at
  iDaemons.org>.  [ruby-dev:29657]

* ext/bigdecimal/bigdecimal.c (VpException): ditto.

* ext/dl/handle.c (rb_dlhandle_initialize): ditto.

* ext/gdbm/gdbm.c (rb_gdbm_fatal): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-14 14:34:07 +00:00
matz
2b925c0c77 * parse.y: revert recent change
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-04 11:03:11 +00:00
matz
3ea95ff347 * parse.y (mlhs): should interpret single parenthesized left hand
side expression.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-10-04 07:16:00 +00:00
matz
b6f0af7888 * string.c (rb_str_intern): raise SecurityError only when $SAFE
level is greater than zero.  [ruby-core:08862]

* parse.y (rb_interned_p): new function to check if a string is
  already interned.

* object.c (str_to_id): use rb_str_intern().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-09-14 07:25:56 +00:00
matz
cfa85982c5 remove semicolon warning. [ruby-dev:29299]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-22 09:39:45 +00:00
matz
6b3928d069 * parse.y (top_local_setup): local_vars[-1] should point
ruby_scope itself to protect local_tbl from garbage collection.
  [ruby-dev:29049]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-08-07 03:42:30 +00:00
matz
45d5c467b3 * parse.y (then): error in warning action.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-13 16:17:05 +00:00
matz
b268c7309e * array.c (rb_ary_pop): may cause realloc oscillation. a patch
from MORITA Naoyuki <mlgetter at kidou.sakura.ne.jp>.
  [ruby-dev:29028]

* parse.y (then): we'd like to reserve colon here for the future.
  warning added.

* ruby.h: export rb_cMethod.  [ruby-talk:201259]

* ext/bigdecimal/bigdecimal.c: Allows '_' to appear within
  digits.  [ruby-dev:28872]

* ext/bigdecimal/lib/bigdecimal/util.rb: Bug in to_r reported by
  [ruby-list:42533] fixed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-07-13 15:43:02 +00:00
nobu
dd69e5b006 * parse.y (yylex, reswords): modifier token is no longer returned in
fname state.  [ruby-dev:28775]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-20 16:41:08 +00:00
nobu
8549a3d99f * parse.y (reswords): kDO_BLOCK was missing. fixed: [ruby-core:7995]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-06-16 15:24:40 +00:00
matz
2835df5a05 * parse.y (arg): too much NEW_LIST()
* eval.c (SETUP_ARGS0): remove unnecessary access to nd_alen.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-19 04:57:58 +00:00
matz
1d3fd0024d * eval.c (rb_eval): use ARGSCAT for NODE_OP_ASGN1.
[ruby-dev:28585]

* parse.y (list_concat): revert last change.

* parse.y (arg): use NODE_ARGSCAT for placeholder.

* lib/getoptlong.rb (GetoptLong::get): RDoc update patch from
  mathew <meta at pobox.com>.  [ruby-core:07738]

* variable.c (rb_const_set): raise error when no target klass is
  supplied.  [ruby-dev:28582]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-19 03:02:03 +00:00
matz
7aa4ba303a * parse.y (list_concat): should not modify nodes other than
NODE_ARRAY.  [ruby-dev:28583]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-04-19 00:51:49 +00:00
ocean
db37bfadb2 * parse.y: fixed compile error
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-21 05:19:34 +00:00
matz
cb5021aef6 * parse.y (f_arglist): should set command_start = Qtrue for
command body.  [ruby-talk:180648]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-20 17:12:56 +00:00
matz
2d88403b15 * eval.c (rb_eval): NODE_OP_ASGN1 should allow splat in its
argument list.  [ruby-core:07366]

* parse.y (arg): avoid unnecessary extra argument.
  [ruby-core:07366]

* eval.c (rb_eval): honor visibility on OP_ASGN1 and
  OP_ASGN2. [ruby-core:07366]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-15 08:46:55 +00:00
matz
8a3d25a790 * eval.c (rb_call0): argument update propagation. [ruby-dev:28044]
* env.h: remove argc member from struct FRAME.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-02-13 09:10:55 +00:00
nobu
8ce7782614 * parse.y (singleton): get rid of segfault on syntax error.
fixed: [ruby-core:07070]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-01-07 06:41:24 +00:00
nobu
89eb20764e * eval.c (rb_eval), gc.c (gc_mark_children), node.h (NEW_ALIAS,
NEW_VALIAS), parse.y (fitem): allow dynamic symbols to
  NODE_UNDEF and NODE_ALIAS.
  backported from trunk.  fixed: [ruby-dev:28105]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-26 13:33:14 +00:00
nobu
29b836ff24 * parse.y (rb_symname_p): fixed wrong validation. [ruby-dev:28047]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-12-19 14:33:11 +00:00
nobu
ead6b37387 * parse.y (NEWHEAP, ADD2HEAP): committed the patch for 1.9.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-30 14:56:52 +00:00
nobu
e753c0e88e * parse.y (NEWHEAP, ADD2HEAP): set count after pointer was set.
fixed: [ruby-dev:27896]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-30 14:53:25 +00:00
nobu
1f26578da0 * parse.y (dsym): prohibit empty symbol literal by interpolation.
fixed: [ruby-talk:166529]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-21 13:52:49 +00:00
nobu
99a40f4bf6 * parse.y (rb_symname_p): [ not followed by ] is not valid symbol.
fixed: [ruby-talk:166520]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-11-20 13:36:05 +00:00
nobu
1cc1c2f77e * object.c (sym_inspect), parse.y (parser_yylex, rb_symname_p): check
if valid as a symbol name more strictly.  [ruby-dev:27478]

* test/ruby/test_symbol.rb: tests for [ruby-core:03573].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-22 04:09:24 +00:00
nobu
d53ad837dd * parse.y (rb_gc_mark_parser): get rid of segfault with old yacc.
fixed: [ruby-dev:27439]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-19 10:26:54 +00:00
nobu
1a644ec72d * parse.y (parser_heap): byacc never free parser stack.
fixed: [ruby-dev:27428]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-17 12:19:28 +00:00
nobu
bb13380822 * parse.y (HEAPCNT): bison allocates indivisible size.
fixed: [ruby-core:06261]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-13 14:26:00 +00:00
nobu
3b4216d2b5 * parse.y (rb_parser_malloc, rb_parser_free): manage parser stack on
heap.  [ruby-list:41199]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-10-08 09:57:12 +00:00
nobu
a55c6429b9 * eval.c (rb_eval), parse.y (arg): reduce fixnum range literal at
parser.  fixed: [ruby-dev:26113]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-05-11 16:21:33 +00:00
nobu
5426142e07 * parse.y (parser_yylex): identfier after dot must not be a variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-21 22:25:28 +00:00
matz
46c954bfda * lib/cgi.rb (CGI::Cookie): [ruby-talk:130040]
* object.c: [ruby-doc:818]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-08 00:51:16 +00:00
matz
f6348ca0ea * object.c (convert_type): [ruby-core:03845]
* eval.c (rb_funcall_rescue): new function.

* object.c (rb_Array): avoid using rb_respond_to().

* object.c (rb_Integer): ditto.

* eval.c (get_backtrace): no conversion for nil.

* parse.y (reduce_nodes): empty body should return nil.

* lib/cgi/session.rb (CGI::Session::initialize): [ruby-core:03832]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-29 06:13:52 +00:00
nobu
0c01821d43 * parse.y (stmt): not to show same error messages twice.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-17 09:29:59 +00:00
matz
6e918be6b1 * gc.c, parse.y, lib/cgi.rb, lib/date.rb: last minute backports from HEAD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-14 14:22:11 +00:00
nobu
8f77ea14b4 * parse.y (primary): should not be NULL. [ruby-core:03098]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-30 02:39:38 +00:00
nobu
cb8a0a8e4b * node.h (NEW_DSTR): adjust list length.
* parse.y (literal_concat): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-18 05:00:58 +00:00
nobu
820c58fce0 * parse.y (stmt, arg, aref_args): should not make sole splat into
array, in aref_args other than aref with op_asgn.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-23 05:52:18 +00:00