Age | Commit message (Collapse) | Author |
|
* parse.y (primary): restore current_arg so that circular
reference after a method definition is also warned.
[ruby-core:61299] [Bug #9593]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Compile failures will trigger iseq_free before
iseq->callinfo_entries are allocated at all.
* iseq.c (iseq_free): avoid segfault on incomplete iseq
* test/ruby/test_syntax.rb (test_invalid_next): new test
for syntax error, not segfault
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (f_label, f_kw, formal_argument_gen): ignore invalid
formal argument in keyword argument definition.
[ruby-dev:48742] [Bug #10545]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/lib/find_executable.rb: Ditto.
* test/lib/memory_status.rb: Ditto.
* test/lib/test/unit.rb: require envutil.
* test/: Don't require envutil in test files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (block_param_def): reset current_arg after block
parameter definition, not to warn references in that block body.
[ruby-core:65990] [Bug #10314]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (gettable_gen): also warn circular argument reference even
inside a block. [ruby-core:65990] [Bug #10314]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (gettable_gen): warn circular argument reference, for
transition from 2.1 and earlier. [ruby-core:65990] [Bug #10314]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (remove_duplicate_keys): should not simply eliminate all
value nodes, which may have side effects.
[ruby-core:65625] [Bug #10315]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* vm.c (kwmerge_i): override existing keys by new keys.
[ruby-core:65368] [Bug #10315]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (assocs): concatenate splatted literal hashes. the
former key has precedence even if duplicated literal keys
follow. [ruby-core:65368] [Bug #10315]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[Feature #10340][ruby-core:65496]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_syntax.rb (test_must_ascii_compatible),
(test_script_lines): ensure to close temporary files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (parser_yyerror): preserve source code encoding in
syntax error messages. [ruby-core:64228] [Bug #10114]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/envutil.rb (assert_valid_syntax): use keyword argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (parser_number_literal_suffix): refine error message for
extra dot and digits.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (primary): flush cmdarg flags inside left-paren in a
command argument, to allow parenthesed do-block as an argument
without arguments parentheses. [ruby-core:61950] [Bug #9726]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (f_arg_asgn): define optional arguments as argument
variables in the rhs default expressions.
[ruby-core:61299] [Bug #9593]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (local_push_gen, local_pop_gen): save cmdarg_stack to
isolate command argument state from outer scope.
[ruby-core:59342] [Bug #9308]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (parser_nextc): warn carriage return in middle of line.
[ruby-core:56240] [Feature #8699]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (parser_whole_match_p): treat CR in middle of a line as a
mere whitespace.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
the value of def-expr is the Symbol of the name of the method, not
nil.
ref. [ruby-dev:42151] [Feature #3753]
* test/ruby/test_syntax.rb (TestSyntax#test_value_of_def): test for
above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (parser_yylex): separate numeric literal from succeeding
token, and treat 'e' as floating point number only if followed by
exponent part.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_syntax.rb (test_syntax): split to improve throuthput
by reducing objects.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* compile.c (iseq_compile_each): fix of defined? with empty
expression. [ruby-core:53999] [Bug #8220]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_syntax.rb (test_syntax): escape interpolation to use
the value passed by ARGV.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_syntax.rb (test_syntax): need to pass the source
directory, __FILE__ in assert_separately is '-' because the code is
passed via a pipe. and this test can't finish in 10 seconds.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_syntax.rb (test_syntax): require envutil for
assert_valid_syntax.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
This creates large string and it pressure GC.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (ambiguous_operator): refine warning message, since this
warning is shown after literal too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* compile.c (iseq_set_arguments): no keyword check if any keyword rest
argument exists, even unnamed. [ruby-core:52744] [Bug #7922]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_syntax.rb (TestSyntax#assert_not_label): need to eval
in the current binding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (f_kwrest): reject duplicated kwrest argument name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_valid_syntax):
make fname optional for inline source.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* 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
|
|
* test/ruby/envutil.rb (assert_valid_syntax): move from
test_syntax.rb.
* test/ruby/envutil.rb (assert_normal_exit): validate syntax before
running because this assertion passes even if the code fails by
SyntaxError.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (parser_params): parser_tokline to track the line number at
which token started. [ruby-dev:46737] [Bug #7559]
* parse.y (fcall): operation with starting line number.
* parse.y (command, primary, method_call): point method name line.
* parse.y (gettable_gen): return token line for __LINE__.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_warning)
(Test::Unit::Assertions#assert_warn), test/ruby/envutil.rb,
test/ruby/test_enumerator.rb, test/ruby/test_io_m17n.rb,
test/ruby/test_regexp.rb, test/ruby/test_syntax.rb:
assert_warn() and assert_warning() are reversed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (assignable_gen): fail if yyerror occurred. fix a bug in
r36973.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_syntax.rb (TestSyntax#test_unassignable): assert
keywords are unassignable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_syntax.rb (test_warn_grouped_expression): update for
r36434. [ruby-core:39050][Bug #5214]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (new_args_tail_gen): fix GC problem of keyword rest
argument. the wrapped struct should be bound to the wrapping node
before assignment of child nodes, to get rid of the case the
children are referred by only the struct pointer which is not a
subject of GC. [ruby-core:45744]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (f_arglist): should reset lexical states after empty
argument list with no parenthesis as well as parenthesized list,
so that reserved name method definition work. [ruby-dev:45626]
[Bug #6403]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (primary): begin/end block should be isolated from outside.
[ruby-dev:45631][Bug #6419]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
parenthesis. [ruby-dev:45605][Feature #6390]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-core:44591][Feature #6353]
* compile.c (compile_array_): generate keyword splat insns.
* vm.c (m_core_hash_merge_kwd): merge keyword hash into intermediate
hash. leftward argument is prior currently.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
are available as a condition of same case clause.
And remove infomation ('#n') because we can find duplicated
condition with explicit line numbers.
[ruby-core:38343] [Ruby 1.9 - Bug #5068]
* test/ruby/test_syntax.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
commands. [ruby-dev:45563][Bug #6347]
* parse.y (superclass): ditto for superclass.
* parse.y (parser_parse_string, parser_here_document): ditto for
string interpolation.
* parse.y (parser_yylex): ditto for singleton class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|