Commit graph

383 commits

Author SHA1 Message Date
matz
e8e50de7b5 * parse.y (IS_BEG): EXPR_CLASS should be treated like EXPR_BEG.
[ruby-core:21453]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@21688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-20 09:37:40 +00:00
nobu
00522fad42 * configure.in,parse.y: removed garbage spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@18470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-10 03:15:37 +00:00
nobu
4948e3c3fb * parse.y (deferred_nodes, compstmt, arg, fixup_nodes, range_op): fix
up fixnum range literal in conditional as automagical line number
  comparison.  [ruby-core:12124], [ruby-dev:35731]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@18356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-04 07:48:52 +00:00
nobu
05c96af27b * parse.y (yylex): 8 and 9 in octal integer should cause compile
error.  [ruby-dev:35729]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@18318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-02 06:51:53 +00:00
nobu
9ed3d64d1d * suppress warnings on cygwin, mingw and mswin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-01 19:55:25 +00:00
nobu
1378795e08 * suppress warnings with -Wwrite-string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-31 09:28:20 +00:00
matz
398689b176 * parse.y (top_local_setup): fixed memory leak bug based on a
patch from Roger Pack <rogerpack2005 at gmail.com> in
  [ruby-core:16610].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22 12:27:13 +00:00
nobu
722ad8f214 * eval.c (search_method, remove_method, error_print, rb_alias)
(rb_eval, rb_rescue2, search_required, Init_eval, rb_thread_create),
  gc.c (rb_source_filename, Init_stack), io.c (rb_io_getline),
  parse.y (rb_id2name, rb_parser_free): suppress warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-21 14:29:55 +00:00
knu
f2323f8869 * eval.c (rb_yield_0, proc_invoke, proc_arity): allow passing a block
to a Proc.  [ruby-dev:23533]

* parse.y (block_par, block_var): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@16205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-26 10:37:13 +00:00
knu
ffb7aaebc2 * parse.y (yycompile): Always prepare a new array for each file's
SCRIPT_LINES__ storage, instead of appending source lines every
  time a file is re-loaded; submitted by Rocky Bernstein in
  #18517.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-24 10:45:28 +00:00
nobu
8d6ccfd432 * parse.y (opt_block_param): command can start just after block param
definition.  [ruby-list:44479]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-06 03:15:08 +00:00
akr
a0ec9f61d1 * parse.y (tokadd_escape): refactored. [ruby-core:15657]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15608 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-26 06:44:53 +00:00
nobu
3e877fa51b * parse.y (yycompile): clear ruby_eval_tree_begin if parse failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-19 03:08:31 +00:00
nobu
d20bd5a282 * parse.y (yycompile): clear ruby_eval_tree_begin too before parse.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@15541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-18 07:23:47 +00:00
nobu
f9f129ce0d * parse.y (f_rest_arg): check if duplicated. [ruby-core:14140]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-19 03:01:43 +00:00
nobu
54062fed11 * parse.y (newline_node): set line from outermost node before removing
NODE_BEGIN.  [ruby-dev:32406]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-30 18:30:49 +00:00
nobu
a57d0b0926 * parse.y (stmt): remove unnecessary NODE_BEGIN. [ruby-core:13814]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@14045 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-29 07:59:12 +00:00
matz
308f4f2df2 * parse.y (call_args): remove "parenthesize argument(s) for future
version" warning.  when I added this warning, I had a plan to
  reimplement the parser that is simpler than the current one.
  since we abandoned the plan, warning no longer required.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-04 16:28:11 +00:00
nobu
8ca32b6e6e * parse.y (yyerror): limit error message length. [ruby-dev:31848]
* regex.c (re_mbc_startpos): separated from re_adjust_startpos.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@13513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-25 20:12:19 +00:00
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