Граф коммитов

120 Коммитов

Автор SHA1 Сообщение Дата
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