aycabta
774cc32b4d
[ruby/irb] Treat encodings in exception correctly
...
https://github.com/ruby/irb/commit/4452adbe04
2021-05-11 09:32:08 +09:00
Koichi Sasada
1ac68bba4e
[ruby/irb] SIGINT should raise Interrupt after IRB session
...
https://github.com/ruby/irb/commit/5832cfe75b
2021-04-02 01:57:44 +09:00
Jeremy Evans
dbea0be13d
[ruby/irb] Update help message for next context-mode of 4
...
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
2021-02-27 06:51:12 +09:00
Nobuhiro IMAI
e80e5a2f89
[ruby/irb] use `RubyLex::TerminateLineInput` appropriately [Bug #17564 ]
...
* using the appropriciate exception instead of `break` so that the session
can be continue after the `irb_source` and `irb_load` commands
* suppress extra new line due to one more `#prompt` call
https://github.com/ruby/irb/commit/bdefaa7cfd
2021-01-27 15:02:05 +09:00
Nobuhiro IMAI
d290a02bd7
[ruby/irb] handle repeated exception separately
...
https://github.com/ruby/irb/commit/fcf6b34bc5
2021-01-18 02:12:53 +09:00
aycabta
6cbb3fd142
[ruby/irb] Fix comment, irb gem supports 2.5.0 or older
...
https://github.com/ruby/irb/commit/36118015ba
2021-01-08 13:32:10 +09:00
aycabta
111fddd543
[ruby/irb] Fix BACK_TRACE_LIMIT logic
...
https://github.com/ruby/irb/commit/30dc5d43fe
2021-01-08 13:25:18 +09:00
aycabta
917050220a
[ruby/irb] Use Exception#full_message to show backtrace in the correct order
...
[Bug #17466 ]
https://github.com/ruby/irb/commit/1c76845cca
2021-01-08 13:25:18 +09:00
Nobuhiro IMAI
4bb683a570
[ruby/irb] fix typo in `IRB::Irb#convert_invalid_byte_sequence`
...
https://github.com/ruby/irb/commit/d09d3c3d68
2021-01-08 13:25:18 +09:00
aycabta
e72a6ed45f
[ruby/irb] Escape invalid byte sequence in Exception
...
This fixes ruby/irb#141 .
https://github.com/ruby/irb/commit/0815317d42
2021-01-05 18:05:06 +09:00
aycabta
4131cd05be
[ruby/irb] Support arg for measure command
...
https://github.com/ruby/irb/commit/b43f35d8f3
2020-12-22 23:45:43 +09:00
aycabta
9f08e3c703
[ruby/irb] Add measure command
...
You can use "measure" command to check performance in IRB like below:
irb(main):001:0> 3
=> 3
irb(main):002:0> measure
TIME is added.
=> nil
irb(main):003:0> 3
processing time: 0.000058s
=> 3
irb(main):004:0> measure :off
=> nil
irb(main):005:0> 3
=> 3
You can set "measure :on" by "IRB.conf[:MEASURE] = true" in .irbrc, and, also,
set custom performance check method:
IRB.conf[:MEASURE_PROC][:CUSTOM] = proc { |context, code, line_no, &block|
time = Time.now
result = block.()
now = Time.now
puts 'custom processing time: %fs' % (Time.now - time) if IRB.conf[:MEASURE]
result
}
https://github.com/ruby/irb/commit/3899eaf2e2
2020-12-20 16:23:59 +09:00
aycabta
2d112c346a
[ruby/irb] Stop using bang version for #inspect of result
...
https://github.com/ruby/irb/commit/fc1426d34e
2020-11-22 21:00:11 +09:00
Andrew Kerr
ef3c25888e
Fix small typo in comment in lib/irb.c
2020-10-22 10:56:35 -07:00
aycabta
555ea83344
[ruby/irb] Drop OMIT_ON_ASSIGNMENT and add :truncate option for ECHO_ON_ASSIGNMENT
...
https://github.com/ruby/irb/commit/4c89b0775b
2020-09-19 05:13:08 +09:00
aycabta
8f9b1902f4
[ruby/irb] Omit output if first line of multiline is too long
...
https://github.com/ruby/irb/commit/0feeae38c5
2020-09-14 02:13:18 +09:00
aycabta
e468d9f49c
[ruby/irb] Add OMIT_ON_ASSIGNMENT
...
Omit the results evaluated at assignment if they are too long.
The behavior of ECHO_ON_ASSIGNMENT being on by default is hard to understand,
so I change it to off by default. Instead, we turn OMIT_ON_ASSIGNMENT on by
default. The result is displayed on assignment, but it will always be short
and within one line of the screen.
https://github.com/ruby/irb/commit/c5ea79d5ce
2020-09-14 02:13:11 +09:00
Nobuyoshi Nakada
d32229e338
[ruby/irb] Prefer require_relative to load the files in this library
...
https://github.com/ruby/irb/commit/0ac3bc7296
2020-08-18 14:38:01 +09:00
Nobuyoshi Nakada
bc646e6715
[DOC] get rid of parsing as TIDYLINK unintentionally
2020-04-07 13:59:38 +09:00
aycabta
22477128cd
[ruby/irb] Suppress crashing when EncodingError has occurred without lineno
...
https://github.com/ruby/irb/commit/13572d8cdc
2020-03-26 17:41:21 +09:00
aycabta
ffbb162f1a
[ruby/irb] Detect multiple lines output simplify
...
The old implementation performance test code:
require 'objspace'
puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001)
/\A.*\Z/ !~ ('abc' * 20_000_000)
puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001)
and run `time test.rb`:
2.5868 MB
62.226 MB
real 0m1.307s
user 0m0.452s
sys 0m0.797s
The new implementation performance test code:
require 'objspace'
puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001)
('abc' * 20_000_000).include?("\n")
puts "%.5g MB" % (ObjectSpace.memsize_of_all * 0.001 * 0.001)
and run `time test.rb`:
2.5861 MB
62.226 MB
real 0m0.132s
user 0m0.088s
sys 0m0.042s
https://github.com/ruby/irb/commit/40d6610baf
2020-03-26 17:41:21 +09:00
Yusuke Endoh
7e2ed7d1aa
[ruby/irb] Add a new easter egg: dancing ruby
...
https://github.com/ruby/irb/commit/e37dc7e58e
2020-02-02 03:22:51 +09:00
Kenta Murata
93ca212dda
[ruby/irb] [ruby/irb] Rewrite an expression to detect multiline
...
https://github.com/ruby/irb/commit/ed5cf375a6
https://github.com/ruby/irb/commit/5b7bbf9c34
2020-01-21 09:51:26 +09:00
Kenta Murata
51a8055d7d
[ruby/irb] Add newline_before_multiline_output
...
https://github.com/ruby/irb/commit/9eb1801a66
2020-01-21 09:51:16 +09:00
Marcus Stollsteimer
05b0410f91
[ruby/irb] Fix typo
...
https://github.com/ruby/irb/commit/4bb1340687
2019-12-24 21:22:46 +09:00
Nobuyoshi Nakada
e68999c82c
Fixed misspellings
...
Fixed misspellings reported at [Bug #16437 ], for default gems.
2019-12-20 12:19:45 +09:00
aycabta
51ea1abb5f
Remove e2mmap dependency
2019-11-25 05:38:09 +09:00
Kazuhiro NISHIYAMA
88d6009d91
Use more strict regexp to avoid to match naninanirb.rb
2019-11-21 23:10:30 +09:00
aycabta
91bf3b7a77
Use singleline/multiline instead of readline/reidline
2019-11-21 02:44:35 +09:00
aycabta
a5b6d7bca8
Suppress warnings except for when last evaluation
...
Co-authored-by: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
2019-11-13 15:15:28 +09:00
Jeremy Evans
652800cc09
Only untaint line on Ruby <2.7
...
Untaint is deprecated and has no effect on Ruby 2.7+.
2019-11-05 20:54:46 +09:00
zverok
4fe06f4667
IRB: Document command evaluation history.
2019-10-26 10:24:20 -07:00
Jeremy Evans
1fb4584825
Remove unsused output_method argument
...
Fixes Ruby Bug 9876.
2019-10-24 23:47:50 +09:00
takkanm
87958520f3
set real path to __FILE__ and __dir__ in Binding#irb
...
When reading Binding#irb, the file of the calling source is reflected in __FILE__ and __dir__.
2019-10-11 09:33:25 +09:00
Steven Willis
9d2fed2ccd
Don't echo results of assignment expressions
2019-08-16 06:02:45 +09:00
aycabta
43b52ac0a5
Revert "Don't echo results of assignment expressions"
...
This reverts commit 1ee88c51b3
.
2019-08-06 20:28:48 +09:00
Steven Willis
1ee88c51b3
Don't echo results of assignment expressions
2019-08-06 20:15:07 +09:00
Yusuke Endoh
c683763865
Use source_location instead of eval(__FILE__,binding) in Binding#irb
...
e9e17cbc05
(enabling the warning by
default) caused a warning in test-spec:
```
/data/chkbuild/tmp/build/20190802T213005Z/ruby/spec/ruby/core/binding/irb_spec.rb
Binding#irb
- creates an IRB session with the binding in scope/data/chkbuild/tmp/build/20190802T213005Z/ruby/spec/ruby/core/binding/fixtures/irb.rb:3: warning: __FILE__ in eval may not return location in binding; use Binding#source_location instead
```
https://rubyci.org/logs/rubyci.s3.amazonaws.com/debian/ruby-master/log/20190802T213005Z.log.html.gz
ref: [Bug #4352 ]
2019-08-03 07:44:44 +09:00
aycabta
10d7b39d5d
Check wether prompt_i is nil
2019-07-15 02:58:28 +09:00
aycabta
078e50c5e9
Save history in IRB is enabled by default
2019-07-15 01:16:18 +09:00
aycabta
6d57369105
Auto indent in IRB is enabled by default
2019-07-15 01:07:37 +09:00
aycabta
76851381cb
Show "-" if indent level is negative
2019-07-01 21:14:50 +09:00
aycabta
d009e321a0
Use IRB.conf[:AUTO_INDENT] setting in multiline mode
2019-06-19 09:19:41 +09:00
aycabta
85ff2d74a2
Avoid auto indent in prompt when dynamic auto indent
2019-06-19 08:28:00 +09:00
Nobuyoshi Nakada
aa32465ab3
irb.rb: [DOC] the default prompt includes :PROMPT_N [ci skip]
2019-06-14 15:31:03 +09:00
aycabta
f80771f0a9
Use Reline.prompt_proc in IRB
2019-06-14 08:26:06 +09:00
aycabta
260235ce87
Use Reline as Reidline multiline editor in IRB
2019-05-25 02:16:19 +09:00
aycabta
3a9008b984
Add --colorize and --nocolorize options to IRB
2019-05-21 08:57:21 +09:00
aycabta
94b740b249
Use Ripper for IRB
...
The debug option of IRB is deleted because it's just for IRB's pure Ruby
parser.
2019-04-30 14:40:06 +09:00
Nobuyoshi Nakada
e804fcb42c
Fix rdoc in 52cfb17086
2019-04-26 18:54:10 +09:00