Age | Commit message (Collapse) | Author |
|
Create line
https://github.com/ruby/irb/commit/64d6a461d5
|
|
https://github.com/ruby/irb/commit/e58a3c1b39
|
|
Deprecates IDB::ReidlineInputMethod and USE_REIDLINE in favor of
IRB::RelineInputMethod and USE_RELINE. The Input method uses Reline to
read input from the console, so it can be named directly after the
Reline library like other inputs methods are (Readline, Stdio, etc.).
https://github.com/ruby/irb/commit/5bcade7130
|
|
https://github.com/ruby/irb/commit/f9960dbd37
|
|
https://github.com/ruby/irb/commit/a6bfa7b2e6
|
|
This allows the file to be created without copying permissions
from Bundler's installation source. The previous behaviour was
noticed after installing Ruby through brew, and using bundle
init, which yielded a read-only Gemfile.
https://github.com/rubygems/rubygems/commit/839a06851d
|
|
https://github.com/ruby/irb/commit/f09a1874b6
|
|
They were introduced around 20 years ago, when Thread is not yet
stabilized. So we don't need them anymore.
https://github.com/ruby/irb/commit/4c75e03b2b
|
|
(https://github.com/ruby/irb/pull/369)
Ensure that methods are called even when local variables are defined.
see: https://github.com/ruby/irb/issues/368
https://github.com/ruby/irb/commit/c34d54b8bb
|
|
They were added in https://github.com/ruby/irb/commit/b34f26a0dd3b589e6fc321a6248d173682c9202f
https://github.com/ruby/irb/commit/0e760d2674
|
|
https://github.com/ruby/irb/commit/daffb8bfe5
|
|
https://github.com/ruby/irb/commit/0db0a8ddc5
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6482
|
|
This reverts commit 68bc9e2e97d12f80df0d113e284864e225f771c2.
|
|
changes to Bundler
https://github.com/rubygems/rubygems/commit/1ac5b14c78
Co-authored-by: André Arko <andre@arko.net>
|
|
https://github.com/rubygems/rubygems/commit/a03d30cd58
|
|
https://github.com/rubygems/rubygems/commit/89362c18ef
Co-authored-by: Mike Dalessio <mike.dalessio@gmail.com>
|
|
I think this highlights better how musl is special.
https://github.com/rubygems/rubygems/commit/4075771697
|
|
https://github.com/ruby/irb/commit/45b539af39
|
|
just the host
https://github.com/rubygems/rubygems/commit/46990f3292
|
|
https://github.com/rubygems/rubygems/commit/da7837630b
|
|
https://github.com/rubygems/rubygems/commit/ccca30c77a
Co-authored-by: Nick Schwaderer <nick.schwaderer@shopify.com>
|
|
Object Shapes is used for accessing instance variables and representing the
"frozenness" of objects. Object instances have a "shape" and the shape
represents some attributes of the object (currently which instance variables are
set and the "frozenness"). Shapes form a tree data structure, and when a new
instance variable is set on an object, that object "transitions" to a new shape
in the shape tree. Each shape has an ID that is used for caching. The shape
structure is independent of class, so objects of different types can have the
same shape.
For example:
```ruby
class Foo
def initialize
# Starts with shape id 0
@a = 1 # transitions to shape id 1
@b = 1 # transitions to shape id 2
end
end
class Bar
def initialize
# Starts with shape id 0
@a = 1 # transitions to shape id 1
@b = 1 # transitions to shape id 2
end
end
foo = Foo.new # `foo` has shape id 2
bar = Bar.new # `bar` has shape id 2
```
Both `foo` and `bar` instances have the same shape because they both set
instance variables of the same name in the same order.
This technique can help to improve inline cache hits as well as generate more
efficient machine code in JIT compilers.
This commit also adds some methods for debugging shapes on objects. See
`RubyVM::Shape` for more details.
For more context on Object Shapes, see [Feature: #18776]
Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>
Co-Authored-By: Eileen M. Uchitelle <eileencodes@gmail.com>
Co-Authored-By: John Hawthorn <john@hawthorn.email>
|
|
This list is out of date. At least OpenBSD since 2013 does not
allow one user to read the environment variables of a process
run by another user.
While we could try to keep the list updated, I think it's a bad
idea to not use the user/password from the environment, even if
another user on the system could read it. If http_proxy exists
in the environment, and other users can read it, it doesn't
make it more secure for Ruby to ignore it. You could argue that
it encourages poor security practices, but net/http should provide
mechanism, not policy.
Fixes [Bug #18908]
https://github.com/ruby/net-http/commit/1e4585153d
|
|
Previously 9eead86 introduced non-commutativity of platforms, and
later commit 1b9f7f50 changed the behavior of `Gem::Platform.match` to
ensure the callee of `#=~` was the gem platform.
However, when the platform argument is a String, then the callee and
argument of `#=~` are flipped (see docs for `String#=~`), which works
against the fix from 1b9f7f50.
Closes #5938
https://github.com/rubygems/rubygems/commit/3b1fb562e8
|
|
Otherwise the timeout thread would be added to the ThreadGroup of the thread that makes the first call to Timeout.timeout .
Fixes bug 19020: https://bugs.ruby-lang.org/issues/19020
Add a test case to make sure the common thread doesn't leak to another ThreadGroup
https://github.com/ruby/timeout/commit/c4f1385c9a
|
|
|
|
Revert "* expand tabs. [ci skip]"
This reverts commit 830b5b5c351c5c6efa5ad461ae4ec5085e5f0275.
Revert "This commit implements the Object Shapes technique in CRuby."
This reverts commit 9ddfd2ca004d1952be79cf1b84c52c79a55978f4.
|
|
Object Shapes is used for accessing instance variables and representing the
"frozenness" of objects. Object instances have a "shape" and the shape
represents some attributes of the object (currently which instance variables are
set and the "frozenness"). Shapes form a tree data structure, and when a new
instance variable is set on an object, that object "transitions" to a new shape
in the shape tree. Each shape has an ID that is used for caching. The shape
structure is independent of class, so objects of different types can have the
same shape.
For example:
```ruby
class Foo
def initialize
# Starts with shape id 0
@a = 1 # transitions to shape id 1
@b = 1 # transitions to shape id 2
end
end
class Bar
def initialize
# Starts with shape id 0
@a = 1 # transitions to shape id 1
@b = 1 # transitions to shape id 2
end
end
foo = Foo.new # `foo` has shape id 2
bar = Bar.new # `bar` has shape id 2
```
Both `foo` and `bar` instances have the same shape because they both set
instance variables of the same name in the same order.
This technique can help to improve inline cache hits as well as generate more
efficient machine code in JIT compilers.
This commit also adds some methods for debugging shapes on objects. See
`RubyVM::Shape` for more details.
For more context on Object Shapes, see [Feature: #18776]
Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>
Co-Authored-By: Eileen M. Uchitelle <eileencodes@gmail.com>
Co-Authored-By: John Hawthorn <john@hawthorn.email>
Notes:
Merged: https://github.com/ruby/ruby/pull/6386
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6430
|
|
across different environments
Notes:
Merged: https://github.com/ruby/ruby/pull/6418
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6418
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6418
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6418
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6418
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6418
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6418
|
|
https://github.com/ruby/reline/commit/e8e8d81f47
|
|
This reverts commit https://github.com/ruby/reline/commit/ce1ac86179e6.
https://github.com/ruby/reline/commit/86602cd244
|
|
https://github.com/ruby/reline/commit/ce1ac86179
|
|
https://github.com/ruby/reline/commit/d42cdb8f91
|
|
https://github.com/ruby/cgi/commit/c1ffa3a428
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6417
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6417
|
|
GitLab CI now needs the default keyword on specification of image
and before_script.
https://docs.gitlab.com/ee/ci/yaml/#default
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/b79e78e733
|
|
https://github.com/ruby/irb/commit/da54e7f081
|
|
https://github.com/ruby/irb/commit/d14e56a65d
|
|
In addition to String values, $LOAD_PATH can also take objects that
respond_to the `to_path` method, like Pathname objects. So `irb` should
be able to handle those objects too.
And if $LOAD_PATH contains objects that can't be converted into String,
`irb` should simply ignore it.
https://github.com/ruby/irb/commit/b2f562176b
|
|
The warning against `-undefined dynamic_lookup` is just a warning yet,
and many gems seem to pay no attention to warnings. Until it fails
actually, keep it as a migration path, except for standard extension
libraries and bundled extension gems.
Notes:
Merged: https://github.com/ruby/ruby/pull/6394
Merged-By: nobu <nobu@ruby-lang.org>
|
|
script
Also add --script option to turn the option back on.
Previously there wasn't a way to get an interactive IRB session
and access arguments provided on the command line.
Additionally, handle `-` as script as stdin. In Unix-like tools, `-`
means to take standard input instead of a file. This doesn't
result in exactly the same output for:
```
echo 'p ARGV' > args.rb; irb args.rb a b c
```
and
```
echo 'p ARGV' | irb - a b c
```
Due to how irb handles whether stdin is a tty.
However, this change allows use of `-` as a argument, instead of
giving an unrecognized switch error. This required some small
changes to context.rb (to handle `-` as standard input) and
input-method.rb (to have FileInputMethod accept IO arguments in
addition to strings).
Implements [Feature #15371]
https://github.com/ruby/irb/commit/4192683ba2
|