Граф коммитов

993 Коммитов

Автор SHA1 Сообщение Дата
nobu 375aedbfb4 * parse.y (sym_check_asciionly): check ascii compatibility before
scanning for code range.
* parse.y (intern_str): set to us-ascii if ascii only.
  [ruby-dev:45363][Bug #6146]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-15 06:04:44 +00:00
nobu 08d81f2683 fix ripper
* parse.y (new_args_gen, new_args_tail_gen): fix ripper.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 15:26:03 +00:00
nobu 8fe3fb4c0f * compile.c (iseq_set_arguments): keyword rest arg without keyword args.
* node.c (dump_node): dump kw_rest_arg too.
* parse.y (block_param, f_arg): more kwrest patterns.
  [ruby-core:42455][Bug #5989]
* parse.y (new_args_gen): no extra kw_rest_arg if no keyword rest arg.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 13:00:17 +00:00
nobu d6a977f667 * parse.y (block_param, f_args): add rules for the case arguments
begin with kwrest.  [ruby-core:42455][Bug #5989]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-13 06:17:08 +00:00
nobu c5feeb9ac1 * node.h (NEW_YIELD), parse.y (new_yield_gen): array-values flags
has been already obsolete.  patch by Thomas Enebo.
  [ruby-core:41929][Bug #5847]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-12 05:56:57 +00:00
nobu bc6dde9420 * parse.y (parser_tokadd_string): escape simple regexp meta
character termninators.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-06 07:24:07 +00:00
nobu c46bdadb84 * parse.y (block_call): rules for block_call after block_call.
based on a patch by pasberth https://github.com/ruby/ruby/pull/102
  [ruby-dev:45308][Bug #6115]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 16:34:21 +00:00
nobu 45f3651d1c * parse.y (block_command, block_call): simplified rules.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-05 16:24:15 +00:00
nobu 68a16f9a2d * parse.y (parser_tokadd_string): regexp engine doesn't need
terminators to be escaped.  [ruby-core:40364][Bug #5484]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-04 14:21:13 +00:00
matz f3e1c29b24 * parse.y (opt_bv_decl): allow newline at the end. [ruby-dev:45292]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-27 14:47:02 +00:00
nobu 785521bd51 * parse.y (parser_tokadd_string): insert a backslash only if
quoted by single quotes.  [ruby-dev:45281] [Bug #6069]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-24 22:54:00 +00:00
nobu 45c6daeed7 * parse.y (parser_tokadd_string, parser_yylex): insert a backslash
if the next character is non-ascii.  [ruby-dev:45278] [Bug #6069]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-23 23:52:12 +00:00
mame 8107587039 * parse.y (debug_lines, coverage): set file path encoding for coverage
result.  [ruby-dev:44950]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-02-01 16:28:14 +00:00
nobu bb19bcf93e * parse.y (rb_intern3): split to registration check and new
registration.
* parse.y (rb_intern_str): make interned string shared with the
  given string.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-22 06:41:29 +00:00
nobu f1dc132b41 * parse.y (rb_intern3, rb_intern_str): check the coderange first.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-01-22 06:23:38 +00:00
nobu 731e45216a * node.h (rb_args_info): change pre_args_num and post_args_num as
int, to match with rb_iseq_t.
* parse.y (new_args_gen): check overflow.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-27 12:17:36 +00:00
mame 1ab3974b0e * node.h, node.c, parse.y: implement a parser part for keyword arguments. This is a preparation for keyword argument (see [ruby-core:40290]).
* gc.c (gc_mark_children): bookkeeping.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-26 14:20:03 +00:00
mame afb10c62c2 * node.h, parse.y (new_args_gen), compile.c (iseq_set_arguments): use struct rb_args_info instead of NODEs. This is a preparation for keyword argument (see [ruby-core:40290]).
* node.c (dump_node), gc.c (gc_mark_children, obj_free): bookkeeping.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-26 14:19:58 +00:00
mame 90b1afa310 * node.h, parse.y (lambda, f_larglist): remove NEW_LAMBDA hack. This is a preparation for keyword argument (see [ruby-core:40290]).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-26 14:19:52 +00:00
nobu d62f56b041 * parse.y (primary): point method name line. [ruby-core:40936]
[Bug #5614]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-13 15:01:20 +00:00
nobu 0f9662f366 * parse.y (parser_magic_comment): should pass the proper value.
[ruby-dev:44984][Bug #5753]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 21:29:53 +00:00
shugo 900b4a6db6 * parse.y (stmt_or_begin): changed the error message for BEGIN not
at toplevel.  [ruby-dev:44963] [Bug #5738]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-12 13:43:56 +00:00
nobu b526738c3b * bignum.c (big_rshift), compile.c (validate_label,
iseq_build_from_ary_exception), cont.c (cont_capture), dir.c
  (dir_open_dir), gc.c (objspace_each_objects), io.c (pipe_open)
  (rb_io_advise), parse.y (parser_compile_string)
  (rb_parser_compile_file), proc.c (binding_free), process.c
  (rb_proc_exec_n, rb_seteuid_core, proc_setegid, rb_setegid_core)
  (p_uid_exchange, p_gid_exchange), regparse.c (strdup_with_null),
  signal.c (sig_dfl), vm.c (rb_iseq_eval, rb_iseq_eval_main),
  vm_insnhelper.c (vm_expandarray): suppress
  unused-but-set-variable warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-05 09:57:00 +00:00
nobu 4659b00b9a * parse.y (nodetype, nodeline): suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-29 00:51:37 +00:00
usa 4d6de2f7c4 * parse.y (nodetype, nodeline): static. these functions are for
debugging, and not intend to be public.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-28 03:49:00 +00:00
naruse 615d5068d2 * parse.y (parser_nextc): set encoding for the buffer of ripper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-28 02:30:22 +00:00
nobu 560a6c6ffa * ext/ripper/eventids2.c (ripper_init_eventids2): separate
initializations of IDs and objects.
* ext/ripper/tools/generate.rb (generate_eventids1): ditto.
* parse.y (Init_ripper, InitVM_ripper): fix inversed roles.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-18 14:05:51 +00:00
nobu 8e6e8e6288 * use RB_TYPE_P which is optimized for constant types, instead of
comparison with TYPE.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-29 11:07:45 +00:00
nobu c4d77cb4ad * parse.y (parser_data_type): inherit the core type in ripper so
that checks in core would work.  [ruby-core:39591] [Bug #5331]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-17 14:34:13 +00:00
nobu 4705fcc3c0 * README.EXT, README.EXT.ja (2.2.2), parse.y (rb_check_id): add
documents for rb_check_id().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33255 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-12 04:38:15 +00:00
matz 6126c50add * parse.y (bv_decls): parse.y relies on $$ = $1 before action
routines.  a patch from Michael Edgar.  [Bug #5303]
  [ruby-core:39429]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-09 23:32:56 +00:00
nobu 5e14b97947 * parse.y (parser_tokadd_string, parser_yylex): ignore a backslash
which prefixes an non-ascii character, which has no escape
  syntax.  [ruby-core:39222] [Ruby 1.9 - Bug #5262]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-02 00:58:10 +00:00
nobu 3fbc65d47f * parse.y (rb_check_id): make the given name a symbol or a string.
based on the second patch by Jeremy Evans at [ruby-core:38447]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-26 16:05:27 +00:00
naruse 65658ea0d4 * parse.y (rb_enc_symname_type): :$a!, @a! and so on are not
valid symbols, so they should be inspected with quotes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-23 10:03:30 +00:00
nobu 12d9be6b72 * parse.y (rb_check_id): take care of attrset ID created
implicitly by local ID.  [Bug #5084]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-23 03:19:07 +00:00
nobu d9242d5966 * parse.y (rb_check_id): conversion condition was inverse.
[Bug #5084]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-23 03:12:28 +00:00
nobu 34918aa832 * object.c (rb_mod_{const,cvar}_defined, rb_obj_ivar_defined):
avoid inadvertent symbol creation in reflection methods.  based
  on a patch by Jeremy Evans at [ruby-core:38367].  [Feature #5072]
* vm_method.c (rb_mod_method_defined)
  (rb_mod_{public,private,protected}_method_defined)
  (obj_respond_to): ditto.
* parse.y (rb_check_id): new function returns already interned ID
  or 0.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-22 12:06:42 +00:00
nobu c276b73804 * parse.y (rb_is_global_id, rb_is_attrset_id): add missing
predicates.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-22 11:44:53 +00:00
nobu e0060732f1 * parse.y (rb_enc_symname2_p): get rid of potential out-of-bound
access.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-22 10:05:49 +00:00
nobu 577c03c713 * parse.y (var_ref): distinguish vcall from local variable
references.  based on a patch by Michael Edgar michael.j.edgar
  AT dartmouth.edu.  Bug #5002

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-10 13:38:17 +00:00
mame b0f115da1a * parse.y (reduce_nodes_gen): NODE_RETURN in rescue body must not be
reduced when there is an else clause.  This caused bizarre behavior
  in [Bug #4473] [ruby-core:35629] [ruby-core:37884].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-10 02:42:07 +00:00
nobu cfa0035962 * encoding.c (rb_enc_set_index, rb_enc_associate_index): should
check if frozen.
* parse.y (rb_intern3), ruby.c (process_options, ruby_script):
  defer freezing after associating encodings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-07 06:44:46 +00:00
nobu c1d84bfcdb * parse.y (arg): rescue_mod is in inverse order from other
modifiers.  patched by michael.j.edgar AT dartmouth.edu at
  [ruby-core:36248].  fixed #4716.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-06 19:31:33 +00:00
matz aab018f8fe * parse.y (opt_call_args): allow trailing comma after assoc
argument e.g. 'foo(bar:1,)'.  fixed #3456

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-06 15:39:27 +00:00
nobu 2ac460af94 * parse.y (parser_here_document): should dispatch heredoc_end
scanner event on an empty here document.  fixed Bug#4543.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-05 06:28:07 +00:00
nobu 198c2570e7 * sytle fixes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-30 20:20:32 +00:00
drbrain 926301969f * math.c: Attach documentation for Math.
* object.c:  Document NIL, TRUE, FALSE.
	* io.c:  Improve grammar in ARGF comment.  Document STDIN/OUT/ERR.
	  Document ARGF global constant.
	* lib/rake:  Hide deprecated toplevel constants from RDoc (import from
	  rake trunk).
	* lib/thwait.rb:  Document ThWait.
	* lib/mathn.rb:  Hide Math redefinition from RDoc
	* lib/sync.rb:  Add a basic comment for Sync_m, Synchronizer_m, Sync,
	  Synchronizer.
	* parse.y:  Document SCRIPT_LINES__.
	* hash.c:  Document ENV class and global constant.
	* vm.c:  Document TOPLEVEL_BINDING.
	* version.c:  Document RUBY_* constants.
	* ruby.c:  Document DATA and ARGV.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-29 03:09:34 +00:00
naruse 8d00a7c274 * parse.y (rb_parser_end_seen_p): fix documentation about return
value. patched by Sho Hashimoto. [Bug #4511]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 15:45:49 +00:00
shyouhei d6e89e0c4e * parse.y: comma at the end of line is no longer allowed.
A patch from Yukihiro Matsumoto  <matz AT ruby-lang.org>.
  (fixed #3456).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-26 09:09:49 +00:00
akr 7da3ea811e * method.h, internal.h iseq.h: declare internal functions.
* compile.c, eval.c, iseq.c, object.c, parse.y, proc.c, process.c,
  thread.c, vm.c, vm_eval.c, vm_insnhelper.c, vm_method.c: don't
  declare internal functions.

  Note that rb_method_entry_eq() is defined in vm_method.c but
  there was a declaration in proc.c with different const-ness.
  Now it is declared in method.h with same const-ness to the
  definition.

* object.c (rb_mod_module_exec): don't declare functions declared in
  include/ruby/intern.h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-18 03:49:33 +00:00
akr afd7e4668f * internal.h: declare more internal functions.
* iseq.h (rb_method_get_iseq): declared.

* compile.c, eval.c, eval_error.c, iseq.c, parse.y, proc.c, range.c,
  ruby.c, time.c, util.c, vm.c: don't declare internal functions.

* eval.c, parse.y, thread_pthread.c: non-existing function declarations
  removed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-18 01:54:57 +00:00
akr e7996eb3cc * internal.h: declare internal functions here.
* node.h: declare NODE dependent internal functions here.

* iseq.h: declare rb_iseq_t dependent internal functions here.

* vm_core.h: declare rb_thread_t dependent internal functions here.

* bignum.c, class.c, compile.c, complex.c, cont.c, dir.c, encoding.c,
  enumerator.c, error.c, eval.c, file.c, gc.c, hash.c, inits.c, io.c,
  iseq.c, load.c, marshal.c, math.c, numeric.c, object.c, parse.y,
  proc.c, process.c, range.c, rational.c, re.c, ruby.c, string.c,
  thread.c, time.c, transcode.c, variable.c, vm.c,
  tool/compile_prelude.rb: don't declare internal functions declared
  in above headers.  include above headers if required.

  Note that rb_thread_mark() was declared as
  void rb_thread_mark(rb_thread_t *th) in cont.c but defined as
  void rb_thread_mark(void *ptr) in vm.c.  Now it is declared as
  the later in internal.h.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-17 22:43:38 +00:00
nobu ce90fcdbbd * parse.y (parser_parse_string): flush delayed token. based on a
patch by Masaya Tarui in [ruby-dev:43762].  Bug #4544
* parse.y (yylex): revert r24557.  delayed token at the end of
  string should be flushed already by the above change.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-13 14:38:26 +00:00
nobu 402cbc870d * parse.y (peek_n): new macro to see next nth char.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-01 06:42:23 +00:00
naruse 78df33a0c1 * enc/utf_16le.c: surpress warning: shorten-64-to-32.
* ext/dbm/dbm.c: ditto.

* ext/gdbm/gdbm.c: ditto.

* parse.y (Init_ripper): surpress warning: unused value.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-21 21:23:42 +00:00
naruse f1b2fb6706 * parse.y (parser_encode_length): add exception as UTF8-MAC for
magic comment's emacs newline specifier
  patched by James M. Lawrence [ruby-core:35476] fixes #4489

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-10 13:07:03 +00:00
naruse eb778a7b6b * parse.y (parser_encode_length): fix typo: the length of
"-dos" and "-mac" is not 5 but 4.
  patched by James M. Lawrence [ruby-core:35476] fixes #4489

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-10 08:07:56 +00:00
nobu b1986003bd * parse.y (words, qwords): dispatch array events. based on a
patch from Michael Edgar.  [Bug #4365].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-06 03:18:44 +00:00
nobu 476ba90835 * parse.y (mlhs_basic): include mlhs_post for ripper. a patch
from Michael Edgar at [ruby-core:35078].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-05 12:47:16 +00:00
nobu f6b4cba666 * parse.y (lex_getline, parser_set_encode): set encoding of lines
in SCRIPT_LINES__ as source encoding.  [ruby-dev:43168]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-04 17:09:45 +00:00
mame a525f4d5fb * parse.y: avoid NULL reference. [ruby-dev:43067]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-18 18:17:29 +00:00
usa 90d5bcf910 * re.c (rb_reg_expr_str): need to escape if the coderage is invalid.
* error.c, include/ruby/intern.h (rb_compile_error_with_enc): new
	  function to raise syntax error, with source encoding'ed message.

	* parse.y (compile_error): use above function.
	  [ruby-core:33951] (#4217)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-28 09:43:49 +00:00
nobu cc479b25ba * parse.y (stmt): missing ripper rule. i.e., `a::B ||= c 1'.
http://twitter.com/#!/wannabe53/status/18797576396472321
  http://twitter.com/#!/wannabe53/status/18798416150663168

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-26 02:39:14 +00:00
akr 462f3626fc * parse.y: parenthesize macro arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-23 02:17:13 +00:00
nobu 2dc98cd0f3 * parse.y (lvar_defined_gen, shadowing_lvar_gen, dvar_defined): no
warnings for unused method and block arguments.
  [ruby-dev:42718] [ruby-dev:42724]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-09 11:14:42 +00:00
nobu 2f26014e38 * parse.y (shadowing_lvar_gen): fix line number. [ruby-dev:42718]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-08 12:36:20 +00:00
shyouhei 87a826b8c2 reverted to r30124; r30124 breaks test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-08 10:55:36 +00:00
nobu 2e65b0d8bb * parse.y (LVAR_USED): should be int same as ruby_sourceline.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-08 00:52:38 +00:00
nobu 43cfe6c63e * parse.y (struct vtable, struct local_vars, vtable_add):
restructued to add declared line.  [ruby-dev:42718]
* parse.y (shadowing_lvar_gen): should not add dvar to vars.
* parse.y (local_push_gen, local_id_gen, dvar_defined_gen): check
  local variable usage for args and vars respectedly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-12-07 22:29:47 +00:00
nobu b5c3fb2465 * parse.y (parser_set_token_info): turn on/off with directives.
[ruby-core:25442]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-14 07:49:06 +00:00
nobu a176b065d2 * io.c (rb_io_ctl), parse.y (LVAR_USED): suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-12 15:10:04 +00:00
nobu d3dabbca71 * parse.y (regexp): dregexp has literal string only at the head
and successors are array.  [ruby-core:32682]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-04 03:43:50 +00:00
matz b602f6516f * parse.y (command_asgn): allow command_call to be right hand side
expression of chained assignment.  [ruby-dev:42313]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-09-30 14:17:31 +00:00
nobu 3bf1afbdd8 * include/ruby/intern.h (rb_make_backtrace, rb_make_exception):
used in ripper.

* node.h (rb_parser_{malloc,realloc,calloc,free}): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-14 04:20:59 +00:00
nobu 2b1f8574c7 * include/ruby/encoding.h (rb_char_to_option_kcode): used in
ripper.

* node.h (rb_reserved_word): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-11 20:58:11 +00:00
nobu aac4f022e2 * parse.y (parser_tokadd_escape): no similar messages twice.
[ruby-core:31048]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-08 03:41:30 +00:00
matz b35f5db57e * parse.y (void_expr_gen): add 'possibly' to warning message.
[ruby-core:31611]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-08-05 08:18:32 +00:00
naruse 7175a9073e * class.c, compile.c, dir.c, file.c, iseq.c, parse.y, random.c:
clean unused-value warnings.

* cont.c, process.c, vm_exec.h: clean cast warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-27 07:13:43 +00:00
nobu 3f606b9aca * parse.y (local_push_gen): disable unused variable warnings in
eval.  [ruby-dev:41869]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-21 06:00:25 +00:00
nobu 25b9eb5e57 * include/ruby/ruby.h (rb_data_type_t): restructured. [ruby-dev:41862]
add parent member.

* error.c (rb_typeddata_inherited_p): new function.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-07-18 07:31:54 +00:00
nobu 2926a585ff * parse.y (shadowing_lvar_gen): should add lvar to vars and
used.  [ruby-dev:41666]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-22 10:57:40 +00:00
nobu d31350f827 * id.c (Init_id): add underscore name.
* parse.y (warn_unused_var): ignore underscore name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-20 07:17:46 +00:00
nobu 14a15f8b7f * parse.y (warn_unused_var): use same format as shadowing local
variable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-20 06:14:22 +00:00
nobu 47fb01e35b * parse.y (shadowing_lvar_gen): get rid of adding extra name for
shadowing local variable.  [ruby-dev:41628]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-20 05:41:07 +00:00
naruse 86d72ac7cf Revert "* parse.y (warn_unused_var): warn unused variables."
This reverts commit r28339 and r28340
because they prevents test-all on boron.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-17 01:04:09 +00:00
usa 4ac263ce68 * parse.y: ripper needs warn_unused_var(), too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-16 09:35:35 +00:00
nobu cf79bdc6d0 * parse.y (warn_unused_var): warn unused variables.
[ruby-dev:41620]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-16 09:20:14 +00:00
matz 276fb7e77b * compile.c (iseq_compile_each): should consider block on stack,
if block argument is passed.  [ruby-core:30534]

* parse.c (arg_concat_gen): should append to nd_head, not to
  nd_iter for NODE_BLOCK_PASS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28123 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-02 03:05:06 +00:00
nobu 5d394118ff * parse.y (parser_tokadd_utf8, parser_tokadd_string): allow NUL
containing symbol literals, as well as String#to_sym.
  [ruby-dev:41447]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-29 18:40:48 +00:00
nobu bf36feb76d * parse.y (warn_balanced, parser_yylex): no warnings after closing
parens.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-24 10:00:36 +00:00
nobu 39f09ca13f * parse.y (warn_balanced): no warning for singleton class.
[ruby-core:30366]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-23 08:40:36 +00:00
mame 3cd67ce505 * parse.y (parser_read_escape, parser_tokadd_escape): allow a hex or
octal encoded character after \c.  This seemed to be prohibited at
  r13836, but its ChangeLog mentions nothing about this prohibition.
  So I assume this prohibition is not intended.  [ruby-core:27229]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-05-16 12:54:37 +00:00
nobu 8939436f24 * parse.y (warn_balanced): do not warn for EXPR_ENDFN.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-28 00:43:27 +00:00
nobu 422efe5352 * parse.y (parser_read_escape): deny extra character escapes.
[ruby-core:27228]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-27 01:54:23 +00:00
mame 56a18860da * parse.y (program): check void_expr when rb_parse_in_main().
[ruby-dev:38717]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-26 15:09:26 +00:00
nobu b0018f6859 * parse.y (ripper_get_value): escape Qundef.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-26 04:11:59 +00:00
nobu 3cbb849bbb * parse.y (warn_balanced): warn according to last state.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-26 03:42:45 +00:00
nobu 36f8540a2b * parse.y (warn_balanced): removed false warning.
* parse.y (parser_yylex): skip whitespaces after method name.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-22 07:43:33 +00:00
nobu 2976ec58a4 * parse.y (regexp): check each fragments. [ruby-core:27374]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27431 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-21 04:44:58 +00:00
nobu 82ba40b434 * parse.y (parser_yylex): reverted r27388 due to backward
compatibility.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-21 04:36:05 +00:00