Age | Commit message (Collapse) | Author |
|
Due to the `bundler` gem itself being ignored from `$LOAD_PATHS`, a
`nil` value is being introduced here, resulting in the current folder
being added to the `$LOAD_PATH` by the standalone script.
I'm pretty sure this is unintentional.
https://github.com/rubygems/rubygems/commit/df54b07b5e
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
This should fix a weird flaky spec failure, given that the code
producing the error will be no longer run.
https://github.com/rubygems/rubygems/commit/a171965409
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/f28ab141af
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
No need to fill up missing names from sources anymore since they should
now be properly set up correctly from the beginning.
https://github.com/rubygems/rubygems/commit/706fd28681
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
compatibility mode
Since this mode is only enabled in frozen mode, it's fine to use the
lockfile and means we don't have to "prepare" the replacement for
materialization.
https://github.com/rubygems/rubygems/commit/dda01b288e
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
Rubygems source replacement was broken.
https://github.com/rubygems/rubygems/commit/3549c122f6
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
TSort was released as a library so we can install it, and also other
gems that are loaded by the spec. Also, Ruby on Windows apparently loads
fiddle 1.0.6, so we need to also install that to make that not fail.
https://github.com/rubygems/rubygems/commit/2b8dcab99e
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
These gems are built and installed to system directly as default gems.
There's no need to also build a remote repo.
https://github.com/rubygems/rubygems/commit/ad9dad4c22
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/98f5087e34
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
Bundler formatters already take care of this.
https://github.com/rubygems/rubygems/commit/c24415fdd5
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
If we have succeeded to materialize the bundle, all specs should be
loaded.
https://github.com/rubygems/rubygems/commit/bd3712d824
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
installing it
Not only the first one that's missing.
This also allows us to simplify things.
https://github.com/rubygems/rubygems/commit/69718a9509
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/c7e3c092e1
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/310937a546
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
This error can only be raised when loading the cache, and we only load
the cache if this condition is met.
https://github.com/rubygems/rubygems/commit/86d692edb8
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
https://github.com/rubygems/rubygems/commit/a669401a5a
Notes:
Merged: https://github.com/ruby/ruby/pull/4789
|
|
|
|
|
|
|
|
And constify `node` argument of `iseq_compile_each0`.
|
|
https://github.com/ruby/irb/commit/968422799c
|
|
https://github.com/ruby/irb/commit/657bd3fd12
|
|
https://github.com/ruby/reline/commit/79b7d80fee
|
|
https://github.com/ruby/irb/commit/80c4329643
|
|
https://github.com/ruby/irb/commit/49a73d929e
|
|
https://github.com/ruby/irb/commit/6480eddd31
|
|
Because it's just used to receive data from the autocomplete dialog, not
for show doc dialog.
https://github.com/ruby/irb/commit/f8b752bd98
|
|
https://github.com/ruby/reline/commit/de1ad93f44
|
|
https://github.com/ruby/reline/commit/e2b87fe831
|
|
https://github.com/ruby/reline/commit/5da6a8d851
|
|
https://github.com/ruby/reline/commit/f0e54f239b
|
|
|
|
|
|
https://github.com/ruby/reline/commit/0ae7d8b336
|
|
https://github.com/ruby/irb/commit/61fe6cfa43
|
|
https://github.com/ruby/irb/commit/24315382d0
|
|
https://github.com/ruby/reline/commit/059d39b090
|
|
https://github.com/ruby/reline/commit/d81f29a134
|
|
https://github.com/ruby/reline/commit/7e18716754
|
|
https://github.com/ruby/reline/commit/dc79ed2dd8
|
|
https://github.com/ruby/reline/commit/ac6f652a39
|
|
https://github.com/ruby/reline/commit/860be91bd7
|
|
|
|
https://github.com/ruby/irb/commit/5bc3a72ca3
|
|
https://github.com/ruby/irb/commit/7209082a11
|
|
https://github.com/ruby/irb/commit/48af34bfc2
|
|
|
|
Currently when calling any of the "FileUtils" methods on pathname `require` is called every time even though that library might already be loaded. This is slow:
We can speed it up by either checking first if the constant is already defined, or by using autoload.
Using defined speeds up the action by about 300x and using autoload is about twice as fast as that (600x faster than current require method).
I'm proposing we use autoload:
```ruby
require 'benchmark/ips'
Benchmark.ips do |x|
autoload(:FileUtils, "fileutils")
x.report("require") { require 'fileutils' }
x.report("defined") { require 'fileutils' unless defined?(FileUtils) }
x.report("autoload") { FileUtils }
x.compare!
end
# Warming up --------------------------------------
# require 3.624k i/100ms
# defined 1.465M i/100ms
# autoload 2.320M i/100ms
# Calculating -------------------------------------
# require 36.282k (± 2.4%) i/s - 184.824k in 5.097153s
# defined 14.539M (± 2.0%) i/s - 73.260M in 5.041161s
# autoload 23.100M (± 1.9%) i/s - 115.993M in 5.023271s
# Comparison:
# autoload: 23099779.2 i/s
# defined: 14538544.9 i/s - 1.59x (± 0.00) slower
# require: 36282.3 i/s - 636.67x (± 0.00) slower
```
Because this autoload is scoped to Pathname it will not change the behavior of existing programs that are not expecting FileUtils to be loaded yet:
```
ruby -rpathname -e "class Pathname; autoload(:FileUtils, 'fileutils'); end; puts FileUtils.exist?"
Traceback (most recent call last):
-e:1:in `<main>': uninitialized constant FileUtils (NameError)
```
Notes:
Merged: https://github.com/ruby/ruby/pull/3693
|
|
|
|
https://github.com/ruby/irb/commit/fb637bc68f
|