- 18 6月, 2020 40 次提交
-
-
由 Jeremy Evans 提交于
Doing so modifies the class's method table, but not in a way that should be detectable from Ruby, so it may be safe to avoid checking if the class is frozen. Fixes [Bug #11669]
-
由 Jeremy Evans 提交于
900e83b5 changed from a warning to an error in this case, but the warning was only issued in verbose mode, and therefore the error was only raised in verbose mode. That was not intentional, verbose mode should only change whether warnings are emitted, not other behavior. This issues the RuntimeError in all cases. This change broke a couple tests, as the tests actually issued the warning and therefore now raise an error. This wasn't caught earlier as test_variable suppressed the warning in this case, effectively setting $VERBOSE = false around the code that warned. basictest isn't run in verbose mode and therefore didn't expose the issue previously. Fix these tests. Fixes [Bug #14541]
-
由 Jeremy Evans 提交于
This makes: ```ruby args = [1, 2, -> {}]; foo(*args, &args.pop) ``` call `foo` with 1, 2, and the lambda, in addition to passing the lambda as a block. This is different from the previous behavior, which passed the lambda as a block but not as a regular argument, which goes against the expected left-to-right evaluation order. This is how Ruby already compiled arguments if using leading arguments, trailing arguments, or keywords in the same call. This works by disabling the optimization that skipped duplicating the array during the splat (splatarray instruction argument switches from false to true). In the above example, the splat call duplicates the array. I've tested and cases where a local variable or symbol are used do not duplicate the array, so I don't expect this to decrease the performance of most Ruby programs. However, programs such as: ```ruby foo(*args, &bar) ``` could see a decrease in performance, if `bar` is a method call and not a local variable. This is not a perfect solution, there are ways to get around this: ```ruby args = Struct.new(:a).new([:x, :y]) def args.to_a; a; end def args.to_proc; a.pop; ->{}; end foo(*args, &args) # calls foo with 1 argument (:x) # not 2 arguments (:x and :y) ``` A perfect solution would require completely disabling the optimization. Fixes [Bug #16504] Fixes [Bug #16500]
-
由 git 提交于
-
由 Jeremy Evans 提交于
3556a834 added support for Module#include to affect the iclasses of the module. It didn't add support for Module#prepend because there were bugs in the object model and GC at the time that prevented it. Those problems have been addressed in ad729a1d and 98286e98, and now adding support for it is straightforward and does not break any tests or specs. Fixes [Bug #9573]
-
由 Yusuke Endoh 提交于
https://rubyci.org/logs/mswinci.japaneast.cloudapp.azure.com/vc12-x64/ruby-master/log/20200618T113134Z.fail.html.gz ``` 1) Failure: WEBrick::TestFileHandler#test_cjk_in_path [D:/tmp/mswin-build20200618-84004-1t0dh8f/ruby/test/webrick/utils.rb:72]: exceptions on 2 threads: webrick log start: [2020-06-18 22:18:07] ERROR `/??.txt' not found. webrick log end Filesystem encoding is Windows-31J. <"200"> expected but was <"404">. ```
-
由 Nobuyoshi Nakada 提交于
-
由 Timo Schilling 提交于
-
由 Burdette Lamar 提交于
Methods: #to_a #to_h #to_ary #reverse! #reverse
-
由 David Rodríguez 提交于
Since we enabled parallel installation by default, we've fixed all the issues related to it that have come up, except for a Windows issue that we haven't yet figured out. This issue is hit by our specs on a daily basis and there's no reason to believe that it won't be hit by end users in a similar way. So, both to stop the testing flakyness and to prevent regressions in the default behavior on Windows, I'd rather leave the default as it was before on Windows for now. https://github.com/rubygems/rubygems/commit/5d8ab57131
-
由 David Rodríguez 提交于
Passing paths should work in most cases, but on Windows the driver letter is interpreted as the scheme and causes some case mismatches because ``` irb> URI.parse("E:").to_s => "e:" ``` We fix this by passing file URI's instead. https://github.com/rubygems/rubygems/commit/b6bc517628
-
由 Utkarsh Gupta 提交于
Signed-off-by: NUtkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/ef2dae4222
-
由 Utkarsh Gupta 提交于
Currently, there is no `.rubocop.yml` shipped by default. So when a user runs `rubocop` after creating a new gem via `bundle gem foo`, it throws a bunch of offenses. With the default `.rubocop.yml` present, the number of those offenses significantly reduce by 25. Signed-off-by: NUtkarsh Gupta <utkarsh@debian.org>
-
由 Utkarsh Gupta 提交于
Signed-off-by: NUtkarsh Gupta <utkarsh@debian.org> https://github.com/rubygems/rubygems/commit/ef2dae4222
-
由 David Rodríguez 提交于
Because they don't play nice with ruby-core's gitignore and cause issues with ruby-core integration. Also, because it's consistent with other templates such as `gitignore.tt`.
-
由 David Rodríguez 提交于
This is not a remembered option, so it shouldn't have been deprecated. At least not for that reason.
-
-
由 David Rodríguez 提交于
-
由 Frank Lam 提交于
-
由 Frank Lam 提交于
-
由 Frank Lam 提交于
* https://github.com/ruby/setup-ruby is now the more recommended action
-
由 Frank Lam 提交于
* Next version of Bundler will auto choose jobs by default * --retry 3 is already default
-
-
由 Frank Lam 提交于
Co-authored-by: NDavid Rodríguez <deivid.rodriguez@riseup.net> https://github.com/rubygems/rubygems/commit/851f8afad1
-
-
-
-
-
-
由 Frank Lam 提交于
* Add hints for --ci option https://github.com/rubygems/rubygems/commit/5f779f45b0
-
-