Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/reline/commit/e21b69ade4
|
|
Some background for this refactor:
1. Through a RubyLex instance's lifetime, the context passed to its methods
should be the same.
Given that `Context` is only initialised in `Irb#initialize`,
this should be true.
2. When `RubyLex` is initialised, the context object should be accessible.
This is also true in all 3 of `RubyLex.new`'s invocations.
With the above observations, we should be able to store the context in `RubyLex`
as an instance variable. And doing so will make `RubyLex`'s instance methods
easier to use and maintain.
https://github.com/ruby/irb/commit/5c8d3df2df
|
|
In Ruby 3.2 or later, a nested constant access like `Foo::Bar::Baz` is
compiled to one instruction by the optimization https://github.com/ruby/ruby/pull/6187
We try to spot which sub-node caues a NameError in question based on the
constant name. We will give up if the same constant name is accessed in
a nested access (`Foo::Foo`).
Fixes https://github.com/ruby/error_highlight/pull/31
https://github.com/ruby/error_highlight/commit/0a4db7da0a
|
|
(https://github.com/ruby/irb/pull/498)
When the main object is frozen, `IRB` wraps a `SimpleDelegator` around it.
But because `SimpleDelegator` doesn't delegate private methods, methods like
`require_relative` or `const_get` would cause error, which are needed for
lazily loading commands.
This commit works around this limitation by avoiding those private method calls
when setting up command execution.
|
|
methods
(https://github.com/ruby/irb/pull/502)
* Remove unnecessary parameter defaults
These methods are always called with tokens specified. So their default
`@tokens` value is never used and is misleading.
* Remove unnecessary context default
* Require tokens for `RubyLex#check_state`
|
|
(https://github.com/ruby/reline/pull/437)
* Update to Unicode 14.0.0
* Update to Unicode 15.0.0
|
|
It makes it hard to locate code when profiling etc.
https://github.com/ruby/mutex_m/commit/8760ab19ec
|
|
https://github.com/ruby/mutex_m/commit/9245b9a63a
|
|
sequence) to check_multiline_prompt
(https://github.com/ruby/reline/pull/458)
* pass unmodified lines to check_multiline_prompt
* Add test to check that output modified by output_modifier_proc is not passed to prompt_proc
|
|
|
|
Things declared in anonymous eval are always annoying to locate.
(profilers, etc)
https://github.com/ruby/racc/commit/f304205256
|
|
https://github.com/ruby/racc/commit/1948de9d1d
|
|
https://github.com/ruby/irb/commit/cef125850d
|
|
https://github.com/ruby/irb/commit/7a94bc4135
|
|
https://github.com/ruby/irb/commit/07fae94862
|
|
(https://github.com/ruby/irb/pull/504)
* Simplify `RubyLex#set_prompt`
It's optional argument is never used by any caller.
* Remove the optional `p` argument from `RubyLex#set_input`
The argument is only used in a test case, which can be easily replaced by
a block argument.
|
|
Using the block param in a boolean context like this cause it to be
allocated.
Using it with an `if` or `unless` was optimized in 3.2
(https://github.com/ruby/ruby/pull/6286) but using it with `or`
or `and` wasn't.
```ruby
def foo(&block)
block or return 1
end
puts RubyVM::InstructionSequence.of(method(:foo)).disasm
== disasm: #<ISeq:foo@(irb):11 (11,0)-(13,3)> (catch: false)
local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: 0, kw: -1@-1, kwrest: -1])
[ 1] block@0<Block>
0000 getblockparam block@0, 0 ( 12)[LiCa]
0003 dup
0004 branchif 10
0006 pop
0007 putobject_INT2FIX_1_
0008 leave [Re]
0009 putnil
0010 leave
```
versus
```
def foo(&block)
return 1 if block
end
puts RubyVM::InstructionSequence.of(method(:foo)).disasm
== disasm: #<ISeq:foo@(irb):15 (15,0)-(17,3)> (catch: false)
local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: 0, kw: -1@-1, kwrest: -1])
[ 1] block@0<Block>
0000 getblockparamproxy block@0, 0 ( 16)[LiCa]
0003 branchunless 7
0005 putobject_INT2FIX_1_
0006 leave ( 17)[Re]
0007 putnil ( 16)
0008 leave
```
https://github.com/ruby/set/commit/e89da977d4
|
|
https://github.com/ruby/reline/commit/603eacee22
|
|
from https://github.com/rubygems/rubygems/commit/0635c1423db5d7c461d53bf0c3329bca75de7609
Notes:
Merged: https://github.com/ruby/ruby/pull/7094
|
|
|
|
Let it deal with legacy gems with equivalent version and different
dependencies.
https://github.com/rubygems/rubygems/commit/b430babe97
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7088
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7088
|
|
(https://github.com/ruby/uri/pull/55)
https://github.com/ruby/uri/commit/89ab4f1407
|
|
(https://github.com/ruby/uri/pull/53)
https://github.com/ruby/uri/commit/ce379e6125
|
|
https://bugs.ruby-lang.org/issues/19285
https://github.com/rubygems/rubygems/commit/1e22219ed4
|
|
to protect
https://github.com/rubygems/rubygems/commit/a31f5d1a18
|
|
Since RDoc does not parse string literals as documents, `eval` the
entire file instead of embedding in a here-document.
On the contrary, as `gem_original_require` alias is an implementation
detail but not for users, it should not be documented.
https://github.com/rubygems/rubygems/commit/cad4cf16cf
|
|
https://github.com/ruby/uri/commit/be8047028f
|
|
could break 'bundle install'
https://github.com/ruby/did_you_mean/commit/0f4b0806b7
|
|
(https://github.com/ruby/uri/pull/50)
https://github.com/ruby/uri/commit/7ff4fb372b
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7076
|
|
(https://github.com/ruby/uri/pull/49)
https://github.com/ruby/uri/commit/02dfc79366
|
|
without a value
https://github.com/rubygems/rubygems/commit/c242311158
|
|
https://github.com/rubygems/rubygems/commit/3bf8e59304
|
|
(https://github.com/ruby/irb/pull/489)
* Remove unnecessary Binding#source_location check
`Binding#source_location` was added in 2.6, which is the minimum supported
version now. So this check is no longer necessary.
* Remove unused IRB.delete_caller
This method was added in the earliest version of IRB:
https://github.com/ruby/irb/commit/f47808999d24865fba1929dea1a7011ff5a517d6
But it's not currently referenced by anything. We can verify this with a
org-wide search result:
https://github.com/search?q=org%3Aruby+delete_caller&type=code
|
|
JRuby 9.4.0.0 introduced a change in case sensitivity in require statements,
meaning that an inclusion of `win32api` loaded Win32API.rb. With this change,
the require statement needs to be updated to the correct capitalization of the
filename to avoid reline failures in newer versions of JRuby.
https://github.com/ruby/reline/commit/d6e7c9e1d9
|
|
(https://github.com/ruby/uri/pull/48)
https://github.com/ruby/uri/commit/2bfd848c26
|
|
This was accidentally re-introduced in f6620037ba1477d2c337d7b511f094d6d0fbb69c.
[Bug #19298]
|
|
(https://github.com/ruby/irb/pull/386)
* fix prompt and code mismatch
* Add test for prompt and code mismatch bug
https://github.com/ruby/irb/commit/a5765d8177
Co-authored-by: Stan Lo <[email protected]>
|
|
There was an extra word ("with") in this sentence.
https://github.com/rubygems/rubygems/commit/ad3de5126c
|
|
https://github.com/ruby/net-http/commit/6a282eccdd
|
|
(https://github.com/ruby/irb/pull/350)
Simplify part of regex ``[_a-zA-Z0-9]`` with equivalent shorthand ``\w``.
Replace case-when with match ``$1`` or default value ``?"``, making intention more clear.
|
|
HOME directory, not current directory
https://github.com/ruby/irb/commit/33a5e55ffd
|
|
https://github.com/ruby/net-http/commit/1c8151aaf3
|
|
https://github.com/ruby/irb/commit/b7973dd2d2
|
|
https://github.com/ruby/irb/commit/f65ec49684
|
|
https://github.com/rubygems/rubygems/commit/fac241d4ef
|
|
https://github.com/rubygems/rubygems/commit/312fc36711
|
|
[Bug #19263]
|