<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/irb/test_irb.rb, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[ruby/irb] Hash#inspect style has changed in ruby 3.4</title>
<updated>2024-10-05T15:55:40+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-10-05T15:45:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a6da8d69e616f6c0c937a2bf18ca3c0561a20b3d'/>
<id>a6da8d69e616f6c0c937a2bf18ca3c0561a20b3d</id>
<content type='text'>
[[Bug #20433]](https://bugs.ruby-lang.org/issues/20433)

https://github.com/ruby/irb/commit/ecd08a527e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[[Bug #20433]](https://bugs.ruby-lang.org/issues/20433)

https://github.com/ruby/irb/commit/ecd08a527e
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Remove Ruby version checks</title>
<updated>2024-08-04T14:53:51+00:00</updated>
<author>
<name>Ricardo Trindade</name>
<email>ricardo.trindade743@gmail.com</email>
</author>
<published>2024-08-04T14:53:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7d5cb4573d39e5c62058314dcfc73895b4e6dffd'/>
<id>7d5cb4573d39e5c62058314dcfc73895b4e6dffd</id>
<content type='text'>
(https://github.com/ruby/irb/pull/985)

https://github.com/ruby/irb/commit/9ce6972e71
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/985)

https://github.com/ruby/irb/commit/9ce6972e71
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Improve how command calls' return value is handled</title>
<updated>2024-06-18T15:15:23+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-06-18T15:15:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=921f22e563d6372d9f853f87d48b11c479126da9'/>
<id>921f22e563d6372d9f853f87d48b11c479126da9</id>
<content type='text'>
(https://github.com/ruby/irb/pull/972)

In #934, we changed command calls to return nil only. This PR improves
the behaviour even further by:

- Not echoing the `nil` returned by command calls
- Not overriding previous return value stored in `_` with the
  `nil` from commands

https://github.com/ruby/irb/commit/c844176842
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/972)

In #934, we changed command calls to return nil only. This PR improves
the behaviour even further by:

- Not echoing the `nil` returned by command calls
- Not overriding previous return value stored in `_` with the
  `nil` from commands

https://github.com/ruby/irb/commit/c844176842
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Invalid encoding symbol now raises SyntaxError also in</title>
<updated>2024-06-12T16:57:55+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-06-12T16:57:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=783eaf70f856ffefcefcb13ca1237b9de5663c51'/>
<id>783eaf70f856ffefcefcb13ca1237b9de5663c51</id>
<content type='text'>
3.3
(https://github.com/ruby/irb/pull/969)

https://github.com/ruby/irb/commit/bad7492ab0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
3.3
(https://github.com/ruby/irb/pull/969)

https://github.com/ruby/irb/commit/bad7492ab0
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Suppress Ruby warnings in certain backtrace filtering</title>
<updated>2024-06-09T20:22:34+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-06-09T20:22:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2959e1b5ea053ca09ec8b5d6c1323c529f100e44'/>
<id>2959e1b5ea053ca09ec8b5d6c1323c529f100e44</id>
<content type='text'>
tests
(https://github.com/ruby/irb/pull/966)

Since they're sensitive to the warnings, and the warnings are
not relevant to the tests, we can suppress them to keep the tests
simple.

https://github.com/ruby/irb/commit/ad642795da
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
tests
(https://github.com/ruby/irb/pull/966)

Since they're sensitive to the warnings, and the warnings are
not relevant to the tests, we can suppress them to keep the tests
simple.

https://github.com/ruby/irb/commit/ad642795da
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Support `IRB.conf[:BACKTRACE_FILTER]`</title>
<updated>2024-05-01T14:23:09+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-05-01T14:23:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1000c27db861a4c405dcea12be391df031a14fdc'/>
<id>1000c27db861a4c405dcea12be391df031a14fdc</id>
<content type='text'>
(https://github.com/ruby/irb/pull/917)

* Use 'irbtest-' instead if 'irb-' as prefix of test files.

Otherwise IRB would mis-recognize exceptions raised in test files as
exceptions raised in IRB itself.

* Support `IRB.conf[:BACKTRACE_FILTER]``

This config allows users to customize the backtrace of exceptions raised
and displayed in IRB sessions. This is useful for filtering out library
frames from the backtrace.

IRB expects the given value to response to `call` method and return
the filtered backtrace.

https://github.com/ruby/irb/commit/6f6e87d769
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/917)

* Use 'irbtest-' instead if 'irb-' as prefix of test files.

Otherwise IRB would mis-recognize exceptions raised in test files as
exceptions raised in IRB itself.

* Support `IRB.conf[:BACKTRACE_FILTER]``

This config allows users to customize the backtrace of exceptions raised
and displayed in IRB sessions. This is useful for filtering out library
frames from the backtrace.

IRB expects the given value to response to `call` method and return
the filtered backtrace.

https://github.com/ruby/irb/commit/6f6e87d769
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Restore MAIN_CONTEXT correctly</title>
<updated>2024-04-30T10:29:38+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-04-30T10:29:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8fb430c1da0d27247c5b425487ab4766afe8165d'/>
<id>8fb430c1da0d27247c5b425487ab4766afe8165d</id>
<content type='text'>
(https://github.com/ruby/irb/pull/937)

https://github.com/ruby/irb/commit/c41f460a70
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/937)

https://github.com/ruby/irb/commit/c41f460a70
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Pass statements to Context#evaluate</title>
<updated>2024-04-12T12:01:03+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-04-12T12:00:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f1d9e895b92953add4b12f477c27852cc3d0955b'/>
<id>f1d9e895b92953add4b12f477c27852cc3d0955b</id>
<content type='text'>
(https://github.com/ruby/irb/pull/920)

This has a few benefits:

- We can keep hiding the evaluation logic inside the Context level, which
  has always been the convention until #824 was merged recently.
- Although not an official API, gems like `debug` and `mission_control-jobs`
  patch `Context#evaluate` to wrap their own logic around it. This implicit
  contract was broken after #824, and this change restores it.

In addition to the refactor, I also converted some context-level evaluation
tests into integration tests, which are more robust and easier to maintain.

https://github.com/ruby/irb/commit/b32aee4068
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/920)

This has a few benefits:

- We can keep hiding the evaluation logic inside the Context level, which
  has always been the convention until #824 was merged recently.
- Although not an official API, gems like `debug` and `mission_control-jobs`
  patch `Context#evaluate` to wrap their own logic around it. This implicit
  contract was broken after #824, and this change restores it.

In addition to the refactor, I also converted some context-level evaluation
tests into integration tests, which are more robust and easier to maintain.

https://github.com/ruby/irb/commit/b32aee4068
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Fix indent test for new reline</title>
<updated>2024-03-24T12:54:40+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-03-24T12:54:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=82f4cff1f39d5f2c762f8cf61f079e318066e44e'/>
<id>82f4cff1f39d5f2c762f8cf61f079e318066e44e</id>
<content type='text'>
(https://github.com/ruby/irb/pull/908)

https://github.com/ruby/irb/commit/7c16ce033e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/908)

https://github.com/ruby/irb/commit/7c16ce033e
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Support repeating debugger input by passing empty input</title>
<updated>2024-02-16T16:12:54+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-02-16T16:12:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b315826377bfa3fae6f513da12327c9133852486'/>
<id>b315826377bfa3fae6f513da12327c9133852486</id>
<content type='text'>
to it
(https://github.com/ruby/irb/pull/856)

* Test IRB's behaviour with empty input

* Handle empty input and pass it to debugger

Since `rdbg` accepts empty input to repeat the previous command, IRB
should take empty input in `irb:rdbg` sessions and pass them to the
debugger.

Currently, IRB simply ignores empty input and does nothing. This commit
creates `EmptyInput` to represent empty input so it can fit into the
current IRB's input processing flow in `Irb#eval_input`.

https://github.com/ruby/irb/commit/0e9db419be
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to it
(https://github.com/ruby/irb/pull/856)

* Test IRB's behaviour with empty input

* Handle empty input and pass it to debugger

Since `rdbg` accepts empty input to repeat the previous command, IRB
should take empty input in `irb:rdbg` sessions and pass them to the
debugger.

Currently, IRB simply ignores empty input and does nothing. This commit
creates `EmptyInput` to represent empty input so it can fit into the
current IRB's input processing flow in `Irb#eval_input`.

https://github.com/ruby/irb/commit/0e9db419be
</pre>
</div>
</content>
</entry>
</feed>
