Commit graph

94 commits

Author SHA1 Message Date
nobu
c6c55bb784 node.h: sign-extend
* node.h (nd_line): should sign-extend.  shifting `VALUE` extends
  with zero bits if `sizeof(VALUE)` equals to `sizeof(int)`.  the
  zero bits are truncated if `sizeof(VALUE)` is bigger enough.
  [ruby-core:80920] [Bug #13523]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-29 02:58:53 +00:00
nobu
7d085cca4b parse.y: fix line in rescue
* parse.y (set_line_body, primary): fix line number of bodystmt as
  the beginning of the block.  [ruby-core:79388] [Bug #13181]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-28 08:06:33 +00:00
nobu
80f5067478 parse.y: args tail at error
* parse.y (new_args_tail_gen): abandon parsing arguments after
  error.  reported by ilsani Martino Sani (ilsani) at
  https://hackerone.com/reports/221201

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-24 06:17:55 +00:00
nobu
bc44acb5a3 parse.y: fix yyerror message
* parse.y (parser_yyerror): show the error line even if the error
  is at the end.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-14 04:35:28 +00:00
nobu
7e8b910a56 parse.y: zero codepoints
* parse.y (parser_tokadd_utf8): relax restriction to allow zero or
  more codepoints.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-11 09:20:27 +00:00
nobu
5245e31426 parse.y: rescue modifier in rhs of op asgn
* parse.y (stmt, arg): rescue modifier in command op assignment
  should be limited to rhs only.  [ruby-core:75621] [Bug #12402]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-13 01:52:22 +00:00
nobu
064ed74be4 parse.y: rescue modifier in rhs
* parse.y (command_asgn): rescue modifier in command assignment
  should be limited to rhs only.  [ruby-core:75621] [Bug #12402]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-10 08:26:46 +00:00
nobu
75a68057c7 parse.y: no named capture conflict warnings
* parse.y (reg_named_capture_assign_iter): remove named capture
  conflict warnings.  it is just annoying rather than useful.
  [ruby-core:75416] [Bug #12359]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-13 11:50:09 +00:00
nobu
134d1ce892 parse.y: massign in cond
* parse.y (assign_in_cond): allow multiple assignment in
  conditional expression.  [Feature #10617]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-13 05:36:26 +00:00
nobu
41f4317f45 test/ruby: suppress parser warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19 07:48:02 +00:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
nobu
d311b7d0eb parse.y: optional superclass
* parse.y (superclass): make superclass rule optional and allow
  any contents without a terminator.  [EXPERIMENTAL]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-11 02:53:31 +00:00
nobu
c7b63ec872 test_parse.rb: move assertions
* test/ruby/test_module.rb (test_remove_class_variable): move an
  assertion for Module#remove_class_variable from test_parse.rb.

* test/ruby/test_symbol.rb (test_intern, test_all_symbols): move
  assertions for Symbol#intern and Symbol.all_symbols from
  test_parse.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-22 12:10:52 +00:00
nobu
60730d91ce parse.y: refine message for gvar w/o identitirs
* parse.y (parse_gvar): separate message for gvar without
  non-space characters from message for invalid identitirs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-13 02:13:43 +00:00
nobu
c3cc91f1b7 test_parse.rb: fix variable name
* test/ruby/test_parse.rb (test_dstr_disallowed_variable): fix
  duplicate variable name to be tested.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-13 02:10:29 +00:00
nobu
ac47d6a8cf parse.y: disable past scope warnings
* parse.y (gettable_gen): disable warnings of possible reference
  to a local variable defined in a past scope.
  [ruby-core:67162] [Bug #10661]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-31 07:48:47 +00:00
nobu
f5f6218a23 parse.y: warn past scope variable
* parse.y (gettable_gen): warn possible reference to a local
  variable defined in a past scope.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-25 03:47:46 +00:00
nobu
b5ba1dcdf0 parse.y: invalid instance/class variable names
* parse.y (parse_atmark): mere atmark and two atmarks without
  succeeding identifiers are invalid as instance/class variable
  names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-01 06:45:17 +00:00
nobu
02c86ce1ee parse.y: preserve encodings
* parse.y (shadowing_lvar, warn_unused_var),
  (reg_named_capture_assign_iter): preserve encodings in warning
  messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-13 12:20:13 +00:00
nobu
5129155a25 test_parse.rb: for warnings
* test/ruby/test_parse.rb (TestParse): add tests for parser warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-13 12:17:57 +00:00
nobu
a7c4146d9c parse.y: fix invalid char in eval
* parse.y (parser_yylex): fix invalid char in eval, should raise
  an syntax error too, as well as directly coded.
  [ruby-core:64243] [Bug #10117]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-07 16:07:25 +00:00
usa
9194b220a5 * test/ruby: get rid of warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-05 13:27:22 +00:00
nobu
3ac0ec4ecd test/ruby: better assertions
* test/ruby: use better assertions instead of mere assert.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-13 09:18:05 +00:00
a_matsuda
0c85ffd8a7 * lib/webrick/httpauth/digestauth.rb: Fix typo in an error message.
* test/ruby/test_parse.rb: Fix typo in a test name.

s/allowd/allowed/

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-29 14:03:26 +00:00
naruse
e34fac6452 Fix test failure to follow r42347 ref #3753
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-03 07:57:34 +00:00
nobu
ecddb96785 parse.y: invalid name as mere string
* parse.y (parser_peek_variable_name): treat invalid global, class,
  and instance variable names as mere strings rather than errors.
  [ruby-core:54885] [Bug #8375]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-10 14:56:40 +00:00
nobu
7ea675732a scoped constant op-assignment
* node.h (NODE_OP_CDECL), compile.c (iseq_compile_each),
  parse.y (stmt, arg): allow scoped constant op-assignment.
  [ruby-core:40154] [Bug #5449]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-24 15:59:31 +00:00
naruse
58ef0f06c6 * ruby.c (load_file_internal): set default source encoding as
UTF-8 instead of US-ASCII. [ruby-core:46021] [Feature #6679]

* parse.y (parser_initialize): set default parser encoding as
  UTF-8 instead of US-ASCII.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-06 00:49:57 +00:00
nobu
e6c5b9f308 revert r37326 "remove string literal concatenation"
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25 14:06:31 +00:00
nobu
db1f7079b6 remove string literal concatenation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-25 10:07:22 +00:00
nobu
356c085709 test_parse.rb: eval locations
* test/ruby/test_parse.rb: set eval locations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-15 09:26:21 +00:00
nobu
62cdd6e64a fix argument order
* test/ruby/test_parse.rb (test_void_expr_stmts_value): expected value
  comes first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-16 08:38:16 +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
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
f8e51f7e59 * parse.y (parser_yylex): abandoned EXPR_VCALL.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-21 02:31:40 +00:00
nobu
e63df53198 * parse.y (lex_state_e, IS_END, IS_SPCARG, parser_yylex): separate
the state after vcall.  [ruby-core:29578]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 03:24:59 +00:00
nobu
8a3201dae6 * test/ruby: make more ruby-mode.el friendly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-04-20 01:46:52 +00:00
nobu
287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
matz
7ae76a9e6b * test/ruby/test_parse.rb (TestParse): update a test not to use
recently fixed inconsistent syntax.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-06 22:14:28 +00:00
mame
7fef733b9d * test/ruby/test_parse.rb: remove tests for open_args.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-29 16:53:49 +00:00
matz
78008d342e * test/ruby/test_parse.rb (TestParse::test_void_expr_stmts_value):
shut up warning.

* rational.c (nurat_to_f): no need for forceful warning when
  converting to float.  overflow is a nature of float values.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-01 12:47:07 +00:00
mame
0a2053713b * enc/trans/utf_16_32.c (fun_so_to_utf_16be, fun_so_to_utf_16le): add
parentheses to remove warnings of gcc.

* io.c (rb_io_getc): remove unused variables.

* compile.c (NODE_NEXT, NODE_REDO): remove unused labels.

* ext/nkf/nkf.c (rb_nkf_convert): remove unused variables.

* ext/syck/rubyext.c (syck_resolver_initialize,
  syck_resolver_detect_implicit, syck_emitter_emit): remove unused
  variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-17 13:22:40 +00:00
matz
fee4ed204f * re.c (rb_reg_search): make search reentrant. [ruby-dev:34223]
* test/ruby/test_parse.rb (TestParse::test_global_variable):
  should preserve $& variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14 15:47:51 +00:00
mame
0327a222c4 * test/ruby/test_parse.rb: add tests to achieve over 95% test coverage
of parse.y.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-13 15:52:14 +00:00