| Age | Commit message (Collapse) | Author |
|
Support int that follow on symbeg in IRB
https://github.com/ruby/irb/commit/90cb27b1bd
|
|
https://github.com/ruby/irb/commit/e7d71fea46
|
|
https://github.com/ruby/irb/commit/6160d74199
|
|
are :time and :stackprof
https://github.com/ruby/irb/commit/759be5a344
|
|
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
https://github.com/ruby/irb/commit/b431742430
|
|
This fixes at least an issue where irb will incorrectly assume
code opens a heredoc when it does not, such as this code:
```ruby
s1 = 'testing'
s2 = 'this'
s2 <<s1
p s1
s1
```
Ruby parses the `s2 <<s1` as `s2.<<(s1)`, not as a heredoc, because
`s2` is a local variable in scope. irb was using ripper without
letting ripper know that `s2` was a local variable, so ripper would
lex it as a heredoc instead of a method call.
Fix the situation by prepending a line at line 0 with all local
variable definitions in scope whenever lexing. This fixes the
heredoc issue, and potentially other issues that depend on whether
an identifier is a local variable or not.
Fixes [Bug #17530]
https://github.com/ruby/irb/commit/4ed2187f76
|
|
standard libraries
https://github.com/ruby/irb/commit/7092ad2ab5
|
|
Rescuing StandardError is prone to bugs caused by a typo or obsoleted methods.
https://github.com/ruby/irb/commit/eb5260fcd5
|
|
such as `ls 42`, `ls :sym` and so on
https://github.com/ruby/irb/commit/b1d436a853
|
|
https://github.com/ruby/irb/pull/249 actually slowed down how `code` is
concatenated. The original way of creating `code` is faster.
[before]
user system total real
2.420137 0.005364 2.425501 ( 2.426264)
[after]
user system total real
1.000221 0.007454 1.007675 ( 1.008295)
Theoretically, this implementation might skip lines that don't appear in
Ripper tokens, but this assumes such lines don't impact whether the code
passes compilation or not. At least normal blank lines seem to have an
`on_ignored_nl` token anyway though.
https://github.com/ruby/irb/commit/27dd2867cd
|
|
https://github.com/ruby/irb/commit/2b79e9ad21
|
|
https://github.com/ruby/irb/commit/fdd5c0a71e
|
|
Allow usage of more detailed args when setting stackprof callback.
Signed-off-by: Ulysse Buonomo <buonomo.ulysse@gmail.com>
https://github.com/ruby/irb/commit/c9d101f450
|
|
https://github.com/ruby/irb/commit/75aa8d159b
|
|
When `NO_COLOR` is set to any non-nil value, output is not colorized.
See https://no-color.org/
https://github.com/ruby/irb/commit/401d0916fe
|
|
https://github.com/ruby/irb/commit/34496e20e8
|
|
https://github.com/ruby/irb/commit/73edff287c
|
|
irb 1.3.5 need reline >= 0.1.6 because irb use `Reline::IOGate.in_pasting?`.
This method defined after reline 0.1.6.
fix #228.
https://github.com/ruby/irb/commit/6b7b8fc324
|
|
Currently `IRB::Color.colorize` and `IRB::Color.colorize_code`
refer `$stdin.tty?` internally.
This patch adds `colorable` keyword option which overrides it.
https://github.com/ruby/irb/commit/402e3f1907
|
|
https://github.com/ruby/irb/commit/783a0569e8
|
|
As expressions in a gemspec file are evaluated at the build time,
but not the run time, the conditional in the gemspec will not work
as intended.
https://github.com/ruby/irb/commit/42f364ea23
|
|
And the required ruby version is 2.5 or later.
https://github.com/ruby/irb/commit/ac496d4c78
|
|
https://github.com/ruby/irb/commit/23c8b73cb1
|
|
https://github.com/ruby/irb/commit/b034bd22b0
|
|
https://github.com/ruby/irb/commit/f053f49c29
|
|
https://github.com/ruby/irb/commit/22e2ddf715
|
|
https://github.com/ruby/irb/commit/bc1b1d8bc3
|
|
this allows pasting leading-dot chained methods correctly:
```ruby
class A
def a; self; end
def b; true; end
end
a = A.new
a
.a
.b
```
will properly return `true` instead of erroring on the `.a` line:
```
irb(main):001:1* class A
irb(main):002:1* def a; self; end
irb(main):003:0> end
irb(main):004:0*
irb(main):005:0> a = A.new
irb(main):006:0*
irb(main):007:0> a
irb(main):008:0> .a
irb(main):009:0> .a
=> #<A:0x00007f984211fbe8>
```
https://github.com/ruby/irb/commit/45aeb52575
|
|
https://github.com/ruby/irb/commit/108cb04352
|
|
https://github.com/ruby/irb/commit/9b84018311
|
|
There are cases where ruby is installed without rdoc and e.g.
lib/irb/cmd/help.rb also handles the LoadError
Here is how to replicate the issue:
```
$ docker run -it alpine:3.13.3 sh
/ # apk add ruby ruby-irb ruby-io-console
/ # irb
irb(main):001:0> Class[TAB][TAB]
```
And you end up with something like:
```
irb(main):001:0> ClassTraceback (most recent call last):
34: from /usr/bin/irb:23:in `<main>'
33: from /usr/bin/irb:23:in `load'
32: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.6/exe/irb:11:in `<top (required)>'
31: from /usr/lib/ruby/2.7.0/irb.rb:400:in `start'
30: from /usr/lib/ruby/2.7.0/irb.rb:471:in `run'
29: from /usr/lib/ruby/2.7.0/irb.rb:471:in `catch'
28: from /usr/lib/ruby/2.7.0/irb.rb:472:in `block in run'
27: from /usr/lib/ruby/2.7.0/irb.rb:537:in `eval_input'
26: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:150:in `each_top_level_statement'
25: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:150:in `catch'
24: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:151:in `block in each_top_level_statement'
23: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:151:in `loop'
22: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:154:in `block (2 levels) in each_top_level_statement'
21: from /usr/lib/ruby/2.7.0/irb/ruby-lex.rb:182:in `lex'
20: from /usr/lib/ruby/2.7.0/irb.rb:518:in `block in eval_input'
19: from /usr/lib/ruby/2.7.0/irb.rb:704:in `signal_status'
18: from /usr/lib/ruby/2.7.0/irb.rb:519:in `block (2 levels) in eval_input'
17: from /usr/lib/ruby/2.7.0/irb/input-method.rb:294:in `gets'
16: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline'
15: from /usr/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline'
14: from /usr/lib/ruby/2.7.0/reline.rb:175:in `readmultiline'
13: from /usr/lib/ruby/2.7.0/reline.rb:238:in `inner_readline'
12: from /usr/lib/ruby/2.7.0/reline.rb:238:in `loop'
11: from /usr/lib/ruby/2.7.0/reline.rb:239:in `block in inner_readline'
10: from /usr/lib/ruby/2.7.0/reline.rb:270:in `read_io'
9: from /usr/lib/ruby/2.7.0/reline.rb:270:in `loop'
8: from /usr/lib/ruby/2.7.0/reline.rb:311:in `block in read_io'
7: from /usr/lib/ruby/2.7.0/reline.rb:240:in `block (2 levels) in inner_readline'
6: from /usr/lib/ruby/2.7.0/reline.rb:240:in `each'
5: from /usr/lib/ruby/2.7.0/reline.rb:241:in `block (3 levels) in inner_readline'
4: from /usr/lib/ruby/2.7.0/reline/line_editor.rb:820:in `input_key'
3: from /usr/lib/ruby/2.7.0/reline/line_editor.rb:608:in `complete'
2: from /usr/lib/ruby/2.7.0/irb/completion.rb:269:in `block in <module:InputCompletor>'
1: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- rdoc (LoadError)
```
https://github.com/ruby/irb/commit/a2d299c2ac
|
|
https://github.com/ruby/irb/commit/612ebcb311
|
|
https://github.com/ruby/irb/commit/1c61178b4c
|
|
https://github.com/ruby/irb/commit/d9f8abc17e
|
|
instead of filling out an entire line
https://github.com/ruby/irb/commit/6ac8f45f5f
|
|
cols.size was calling Integer#size, which returns 8.
Fixing a bug of https://github.com/ruby/irb/pull/209
https://github.com/ruby/irb/commit/c93ae4be71
|
|
https://github.com/ruby/irb/commit/6115754623
|
|
https://github.com/ruby/irb/commit/bc822e4aac
|
|
https://github.com/ruby/irb/commit/19b6c20604
|
|
https://github.com/ruby/irb/commit/89bcf107be
|
|
https://github.com/ruby/irb/commit/ecc82336b7
|
|
https://github.com/ruby/irb/commit/9587ba13b5
|
|
This makes the save-history extension check for modifications to
the history file before saving it. If the history file was modified
after the history was loaded and before it was saved, append only
the new history lines to the history file.
This can result in more lines in the history file than SAVE_HISTORY
allows. However, that will be fixed the next time irb is run and
the history is saved.
Fixes [Bug #13654]
https://github.com/ruby/irb/commit/041ef53845
|
|
Fixes [Bug #14824]
https://github.com/ruby/irb/commit/63414f8465
|
|
While here, fixing tab/space issues in help message, and sync
rdoc for IRB class to match the help message.
https://github.com/ruby/irb/commit/ef8e3901cc
|
|
https://github.com/ruby/irb/commit/ab9852ccc5
|
|
https://github.com/ruby/irb/commit/33f933196f
|
|
https://github.com/ruby/irb/commit/39d1cd874f
|
|
https://github.com/ruby/irb/commit/5be9354cf9
|
|
https://github.com/ruby/irb/commit/96accf3b95
|