aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Skip BUGs on Solaris"Yusuke Endoh2019-09-012-3/+1
| | | | | | | This reverts commit 8adefd4cf29288f6e43f20efbdd44b215ae16c7a. I couldn't see any failure on Solaris if the guard is removed. Give it a try.
* Fix keyword argument separation warning when using sendJeremy Evans2019-08-312-2/+70
| | | | | | vm_call_opt_send was dropping VM_CALL_KW_SPLAT, so this just makes it not drop it, to get the same behavior as calling the method directly.
* Note about ANYARGS in NEWSTakashi Kokubun2019-09-011-0/+3
| | | | | | | | Since 50f5a0a8d6e7ad89d6caff695a08dbd38edb7a6e, some C++ extensions needed fixes like https://github.com/eagletmt/faml/pull/49 to make their build succeed. Thus it's worth noting that C API declarations are changed.
* Don't pass an empty keyword hash when double splatting empty hash when ↵Jeremy Evans2019-08-312-1/+146
| | | | | | | | calling cfunc This mirrors earlier changes in keyword argument separation for calling Ruby methods and calling procs/lambdas, so that behavior is kept the same.
* Made :nil static IDNobuyoshi Nakada2019-09-012-3/+4
|
* IRB 1.1.0.pre.3aycabta2019-09-011-2/+2
|
* Reline 0.0.2aycabta2019-09-011-1/+1
|
* Re-calculate state variables of screen when screen size changesaycabta2019-09-011-0/+53
|
* Ignore the all of warnings with inline_spec.rb of bundler examples.Hiroshi SHIBATA2019-09-011-1/+1
|
* * 2019-09-01 [ci skip]git2019-09-011-2/+2
|
* Split warning messages for tag-jumpNobuyoshi Nakada2019-09-013-30/+39
|
* Use double splat for keyword args by a hash object in lib/un.rbaycabta2019-08-311-9/+9
|
* Limit the apt addon enablement to trustyTakashi Kokubun2019-08-311-4/+10
| | | | | | 8897fa60fdbc83f9cce7df384893e902c17c1bf2 worked. But we want to retry that part and this commit is trying to fix the problem.
* Try using built-in apt source for gcc-8Takashi Kokubun2019-08-311-10/+5
| | | | | | 58a373e9ed54556e18a13825dfe72d3f7a86b833 and 3868df83330bb897be996604df3862639abbf002 didn't work.
* Try to fix apt-get update error for trusty (take 2)Takashi Kokubun2019-08-311-2/+3
| | | | https://travis-ci.org/ruby/ruby/jobs/579116510
* Try to suppress errors in BASERUBY TravisTakashi Kokubun2019-08-311-1/+3
| | | | https://travis-ci.org/ruby/ruby/jobs/579108692
* Don't pass an empty keyword hash when double splatting empty hashJeremy Evans2019-08-303-0/+56
|
* fix CI failures in x64-mingw32卜部昌平2019-08-312-29/+2
| | | | | For insatnce https://ci.appveyor.com/project/ruby/ruby/builds/27086475/job/mb9whkiygemlfy93
* Remove files/directories for git/github which are committed [ci skip]Nobuyoshi Nakada2019-08-311-4/+2
|
* Add rb_iseq_locationJeremy Evans2019-08-302-5/+11
| | | | This wraps iseq_location and should fix the leaked global test.
* Use more accurate source location in keyword argument separation warningsJeremy Evans2019-08-303-21/+17
| | | | | | | | This shows locations in places it didn't before, such as for proc calls, and fixes the location for super calls. This requires making iseq_location non-static and MJIT exported, which I hope will not cause problems.
* Warn for keyword to last hash parameter when method has no optional/rest ↵Jeremy Evans2019-08-303-36/+69
| | | | | | | | | parameters Previously, there was no warning in this case, even though we will be changing the behavior in Ruby 3. Fixes [Bug #14130]
* Remove a verbose warning that is no longer neededJeremy Evans2019-08-302-14/+3
| | | | This warns about a case that we will continue to support.
* tool/rbinstall.rb: remove a keyword-argument warningYusuke Endoh2019-08-311-1/+1
|
* NEWS: Hash-to-keywords automatic conversion is now warnedYusuke Endoh2019-08-311-0/+19
| | | | A follow up for 16c6984bb9..b5b3afadfa. [Feature #14183]
* * 2019-08-31 [ci skip]git2019-08-311-1/+1
|
* Fix a couple of bundler issues with keyword argument separationJeremy Evans2019-08-302-4/+10
| | | | | There are more issues than this, but hopefully this is enough to get make test-bundler passing in CI.
* Fix remaining warning issues in the tests due to keyword argument separationJeremy Evans2019-08-305-25/+64
|
* Add back missing warning for duplicate keys in splatted hashesJeremy Evans2019-08-301-1/+11
| | | | | | | This reverts the changes to parse.y in a5b37262524ac39d2af13eea174486370a581c23 as they are not actually needed and cause the warning for duplicate hash keys to not be emitted.
* Update specs to handle non-Symbols for keyword splats in 2.7Jeremy Evans2019-08-305-150/+378
| | | | Also handle some warnings for behavior that will change in 3.0.
* When splitting a keyword hash, dup it first to not mutate itJeremy Evans2019-08-301-0/+1
|
* Implement keyword argument to last positional hash emulationJeremy Evans2019-08-301-1/+27
| | | | | | | | | | | For methods that accept keyword arguments but do not accept a keyword splat, if a keyword splat is passed, or keywords are used with a non-symbol key, check the hash. If the hash contains all symbols, keep the same behavior as before. If the hash contains all non-symbols, move the hash to the last positional hash and warn. If the hash contains symbols and non-Symbols, split the hash and use the symbol keys for the keyword hash and non-symbol keys for the positional hash and warn.
* Make keyword_hash_split staticJeremy Evans2019-08-301-1/+1
|
* Make Method/Proc#parameters handle **nil syntaxJeremy Evans2019-08-302-0/+12
| | | | Use a [:nokey] entry in this case.
* Make RubyVM::AbstractSyntaxTree handle **nil syntaxJeremy Evans2019-08-302-2/+15
| | | | | Use false instead of nil for the keyword and keyword rest values in that case.
* Make ripper support **nil syntaxJeremy Evans2019-08-302-3/+19
| | | | | | | | | The on_params hook will use :nil as the keyword rest argument. There is a new on_nokw_param hook as well. This fixes a type issue in the previous code, where an ID was passed where a VALUE was the declared type. The symbol :nil is passed instead of the id.
* Support **nil syntax for specifying a method does not accept keyword argumentsJeremy Evans2019-08-307-0/+67
| | | | | | | | | This syntax means the method should be treated as a method that uses keyword arguments, but no specific keyword arguments are supported, and therefore calling the method with keyword arguments will raise an ArgumentError. It is still allowed to double splat an empty hash when calling the method, as that does not pass any keyword arguments.
* Set symbol export for rb_hash_stlike_foreachJeremy Evans2019-08-301-0/+2
| | | | This fixes MJIT after rb_hash_stlike_foreach used vm_args.c.
* Restore splitting of hashes into positional and keyword arguments, add warningJeremy Evans2019-08-302-12/+86
| | | | | | | | | | | | | | This restores compatibility with Ruby 2.6, splitting the last positional hash into positional and keyword arguments if it contains both symbol and non-symbol keys. However, in this case it will warn, as the behavior in Ruby 3 will be to not split the hash and keep it as a positional argument. This does not affect the handling of mixed symbol and non-symbol keys in bare keywords. Those are still treated as keywords now, as they were before this patch. This results in different behavior than Ruby 2.6, which would split the bare keywords and use the non-Symbol keys as a positional arguments.
* Fix test after keyword argument separationJeremy Evans2019-08-301-1/+1
| | | | | | | | | Now that keyword splats accept non-Symbols, the type of exception changes. Previously, a TypeError (hash key "k1" is not a Symbol) was raised for this test, but now an ArgumentError (unknown keyword: "k1") is raised.
* Update tests to fix warning message changesJeremy Evans2019-08-301-4/+4
| | | | | Now that keyword splats accept non-Symbols, the inspect value of the keyword is used instead of the string value.
* Only promote last hash to keyword if all keys are symbolsJeremy Evans2019-08-301-6/+29
| | | | | | | | If all keys are not symbols, then the non-symbol keys would not be treated as keywords in previous versions. It doesn't make sense to treat these hashes as keywords to break compatibility and warn about behavior changes in Ruby 2.7 when the Ruby 3.0 behavior will be the same as the Ruby 2.6 for these hashes.
* Fix keyword argument separation warnings in testJeremy Evans2019-08-309-31/+31
|
* Fix keyword argument separation issues in libJeremy Evans2019-08-3013-38/+38
| | | | Mostly requires adding ** in either calls or method definitions.
* Fix hash to keyword warning to apply in all casesJeremy Evans2019-08-301-11/+9
| | | | | Previously, it only applied if the call had more positional arguments than the method it was calling accepted.
* Allow ** syntax to be used for calling methods that do not accept keywordsJeremy Evans2019-08-304-65/+19
| | | | | | | | Treat the ** syntax as passing a copy of the hash as the last positional argument. If the hash being double splatted is empty, do not add a positional argument. Remove rb_no_keyword_hash, no longer needed.
* Separate keyword arguments from positional argumentsYusuke Endoh2019-08-309-51/+152
| | | | And, allow non-symbol keys as a keyword arugment
* Split CC_LINKER_ARGS from CC_DLDFLAGS_ARGSTakashi Kokubun2019-08-301-5/+6
| | | | | | | | to drop MJIT_DLDFLAGS from compile_c_to_o for OpenBSD failure https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd65/ruby-master/log/20190830T110008Z.fail.html.gz. 8c7f4e8f8b7f9e74195ea0eb51f39014fec342c0 did not work for i686-linux https://travis-ci.org/ruby/ruby/jobs/578808112.
* Try dropping DLDFLAGS from compile_c_to_oTakashi Kokubun2019-08-301-1/+1
| | | | | | | | I think this did not work for some environments, but this seems to fix OpenBSD RubyCI failure: https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd65/ruby-master/log/20190830T110008Z.fail.html.gz Let me check RubyCI impact by this.
* Make the dot-colon method reference frozenMaciej Mensfeld2019-08-302-1/+14
| | | | | [Feature #16103] Close: https://github.com/ruby/ruby/pull/2267