Commit graph

398 commits

Author SHA1 Message Date
knu
329467bb40 * parse.y (opt_block_arg): Allow a trailing comma at the end of
an argument list.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@29440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-11 09:34:39 +00:00
nobu
a1ab2bc8a4 * parse.y (rb_intern): should check symbol table overflow.
#3900 [ruby-dev:42330]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@29396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-03 09:30:30 +00:00
knu
0eeed6cf05 * parse.y (method_call): Add support for Ruby 1.9 style method
invocation syntax f.(x) / f::(x), which is interpreted as
  f.call(x).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@29174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-03 07:57:29 +00:00
knu
a453dd928f * parse.y: Revert r26609, r26160, r25658 and r24695. The loose
args patch caused a lot of problem and we just could not fix
  them all in a timely manner.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-23 15:45:50 +00:00
knu
f99836931a * parse.y: Get rid of tags for Ripper, pointless in 1.8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-06 19:04:07 +00:00
knu
3f1da781c5 * parse.y (dsym): Allow empty symbols. [merge from 1.9]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-31 15:36:22 +00:00
nobu
efe97f7f7b * parse.y (args): splat other than direct array literal.
[ruby-dev:39771]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-23 11:48:55 +00:00
nobu
2af31f4800 * parse.y (mlhs_basic): suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-22 09:07:56 +00:00
nobu
705b0a2379 * parse.y (whole_match_p): constified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-12-22 08:45:08 +00:00
naruse
b7d63cbb85 * parse.y (args): use splat_array.
fix: when *foo doesn't splat. [ruby-list:46517]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@25658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-11-05 03:11:27 +00:00
nobu
c69d9b447c * parse.y (arg_prepend): removed. a patch from Mikhail T. in
[ruby-core:26217].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@25432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-22 08:29:53 +00:00
nobu
3f0d0b9398 * *.[chy]: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@25430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-10-22 01:00:18 +00:00
shyouhei
1a884e8cd5 Merge branch '19migration/looser_args' into ruby_1_8
Conflicts:

	ChangeLog

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@24695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-28 16:06:58 +00:00
shyouhei
564398329a * node.h (rb_thread_status): ISO C89 do not allow a comma at the end of enum.
* parse.y (string_type): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@24349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-01 21:11:40 +00:00
shyouhei
f82dc0ffed * parse.y: Support for { key: value } -style hash immediates.
[ruby-core:21946][ruby-core:22286]
	* keywords: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@24338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-31 08:33:43 +00:00
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