<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/irb/test_history.rb, branch v3_3_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[Bug #20511] Update reline-0.5.7 (#10848)</title>
<updated>2024-05-28T22:54:39+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2024-05-28T22:54:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=077558ee2b8dd3ed414b78384f21118f833eb259'/>
<id>077558ee2b8dd3ed414b78384f21118f833eb259</id>
<content type='text'>
* Update reline-0.5.7

* Update irb-1.13.1</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Update reline-0.5.7

* Update irb-1.13.1</pre>
</div>
</content>
</entry>
<entry>
<title>Save $VERBOSE properly</title>
<updated>2023-12-12T02:06:27+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2023-12-12T02:06:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=305f66b859c0fd123c95db74700d8b2c13fe2fe2'/>
<id>305f66b859c0fd123c95db74700d8b2c13fe2fe2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent a warning: setting Encoding.default_external</title>
<updated>2023-12-12T01:31:37+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2023-12-12T01:28:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0c287df3bc4c1a7aed3279e20590ecf628722b4d'/>
<id>0c287df3bc4c1a7aed3279e20590ecf628722b4d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Scrub past history input before split</title>
<updated>2023-12-01T18:04:03+00:00</updated>
<author>
<name>hogelog</name>
<email>konbu.komuro@gmail.com</email>
</author>
<published>2023-12-01T18:03:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ef466ac931dcb37f98fc89eba526c2593e1cddb0'/>
<id>ef466ac931dcb37f98fc89eba526c2593e1cddb0</id>
<content type='text'>
(https://github.com/ruby/irb/pull/795)

* Scrub past history input before split

* Don't rewrite ENV["LANG"]

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

* Scrub past history input before split

* Don't rewrite ENV["LANG"]

https://github.com/ruby/irb/commit/0f344f66d9
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Handle Concurrent Sessions and Saving Readline::HISTORY</title>
<updated>2023-09-16T12:48:32+00:00</updated>
<author>
<name>Chad Schroeder</name>
<email>chadrschroeder@users.noreply.github.com</email>
</author>
<published>2023-09-16T12:48:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a8afedce6dfdbab8807134daa926b0936b5cd9a4'/>
<id>a8afedce6dfdbab8807134daa926b0936b5cd9a4</id>
<content type='text'>
(https://github.com/ruby/irb/pull/651)

* handle concurrent sessions and saving Readline::HISTORY, fixes https://github.com/ruby/irb/pull/510

* separate tests

* don't mutate the HISTORY object on the class

* avoid repeated .to_i calls

* remove intermediary history array

* work with array, fix test comment

---------

https://github.com/ruby/irb/commit/1681ada328

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/651)

* handle concurrent sessions and saving Readline::HISTORY, fixes https://github.com/ruby/irb/pull/510

* separate tests

* don't mutate the HISTORY object on the class

* avoid repeated .to_i calls

* remove intermediary history array

* work with array, fix test comment

---------

https://github.com/ruby/irb/commit/1681ada328

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Avoid overriding user's `irb_name` setting in debugger</title>
<updated>2023-08-21T18:23:32+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2023-08-21T18:23:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ca6db02c2a305bc990c144439996abfe984a6c5a'/>
<id>ca6db02c2a305bc990c144439996abfe984a6c5a</id>
<content type='text'>
integration
(https://github.com/ruby/irb/pull/688)

* Avoid overriding user's irb_name setting in debugger integration

Instead of always setting `irb_name` to `irb:rdbg`, it should respect
the user's setting and only append `:rdbg` to it.

* Introduce write_rc test helper

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

* Avoid overriding user's irb_name setting in debugger integration

Instead of always setting `irb_name` to `irb:rdbg`, it should respect
the user's setting and only append `:rdbg` to it.

* Introduce write_rc test helper

https://github.com/ruby/irb/commit/2ce7593351
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Support seamless integration with ruby/debug</title>
<updated>2023-08-13T18:30:34+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2023-08-13T18:30:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7f8f62c93bf3d11a0321fa91823065a2ff36f6d0'/>
<id>7f8f62c93bf3d11a0321fa91823065a2ff36f6d0</id>
<content type='text'>
(https://github.com/ruby/irb/pull/575)

* Support native integration with ruby/debug

* Prevent using multi-irb and activating debugger at the same time

Multi-irb makes a few assumptions:

- IRB will manage all threads that host sub-irb sessions
- All IRB sessions will be run on the threads created by IRB itself

However, when using the debugger these assumptions are broken:

- `debug` will freeze ALL threads when it suspends the session (e.g. when
  hitting a breakpoint, or performing step-debugging).
- Since the irb-debug integration runs IRB as the debugger's interface,
  it will be run on the debugger's thread, which is not managed by IRB.

So we should prevent the 2 features from being used at the same time.
To do that, we check if the other feature is already activated when
executing the commands that would activate the other feature.

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

* Support native integration with ruby/debug

* Prevent using multi-irb and activating debugger at the same time

Multi-irb makes a few assumptions:

- IRB will manage all threads that host sub-irb sessions
- All IRB sessions will be run on the threads created by IRB itself

However, when using the debugger these assumptions are broken:

- `debug` will freeze ALL threads when it suspends the session (e.g. when
  hitting a breakpoint, or performing step-debugging).
- Since the irb-debug integration runs IRB as the debugger's interface,
  it will be run on the debugger's thread, which is not managed by IRB.

So we should prevent the 2 features from being used at the same time.
To do that, we check if the other feature is already activated when
executing the commands that would activate the other feature.

https://github.com/ruby/irb/commit/d8fb3246be
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Skip integration tests in core CI</title>
<updated>2023-08-11T18:27:17+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2023-08-11T18:27:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c173c637ab7e971a5b6c56deabe9e1a7c95667fb'/>
<id>c173c637ab7e971a5b6c56deabe9e1a7c95667fb</id>
<content type='text'>
(https://github.com/ruby/irb/pull/677)

We already skipped history integration tests in core CI in #675 due to
suspicion on nested IRB sessions don't work on certain operating systems.

But after #669, the evaluation integration test also started to fail on
some Core CI suites. So, it looks like the integration test setup may not
work in Core CI, at least in some suites.

Consider `ruby/irb` already has rather sophisticated test suite, I think
it's better to skip the integration tests in core CI for now.

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

We already skipped history integration tests in core CI in #675 due to
suspicion on nested IRB sessions don't work on certain operating systems.

But after #669, the evaluation integration test also started to fail on
some Core CI suites. So, it looks like the integration test setup may not
work in Core CI, at least in some suites.

Consider `ruby/irb` already has rather sophisticated test suite, I think
it's better to skip the integration tests in core CI for now.

https://github.com/ruby/irb/commit/6f49b4c108
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Skip nested IRB tests in Ruby Core CI</title>
<updated>2023-08-09T22:28:55+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2023-08-09T22:28:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=984109b8363790723693ec04897b1155d899115f'/>
<id>984109b8363790723693ec04897b1155d899115f</id>
<content type='text'>
(https://github.com/ruby/irb/pull/675)

Sometimes the subprocess gets stuck in the nested IRB session until timed
out. We don't have enough information to debug it yet, so skip the tests
to unblock CI.

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

Sometimes the subprocess gets stuck in the nested IRB session until timed
out. We don't have enough information to debug it yet, so skip the tests
to unblock CI.

https://github.com/ruby/irb/commit/606f18c80c
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Fix nested IRB sessions' history saving</title>
<updated>2023-08-09T14:57:52+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2023-08-09T14:57:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ab0f90f1f5583a64a125701e3b08f6620f029eb6'/>
<id>ab0f90f1f5583a64a125701e3b08f6620f029eb6</id>
<content type='text'>
(https://github.com/ruby/irb/pull/652)

1. Dynamically including `HistorySavingAbility` makes things unnecessarily
   complicated and should be avoided.
2. Because both `Reline` and `Readline` use a single `HISTORY` constant
   to store history data. When nesting IRB sessions, only the first IRB
   session should handle history loading and saving so we can avoid
   duplicating history.
3. History saving callback should NOT be stored in `IRB.conf` as it's
   recreated every time `IRB.setup` is called, which would happen when
   nesting IRB sessions.

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

1. Dynamically including `HistorySavingAbility` makes things unnecessarily
   complicated and should be avoided.
2. Because both `Reline` and `Readline` use a single `HISTORY` constant
   to store history data. When nesting IRB sessions, only the first IRB
   session should handle history loading and saving so we can avoid
   duplicating history.
3. History saving callback should NOT be stored in `IRB.conf` as it's
   recreated every time `IRB.setup` is called, which would happen when
   nesting IRB sessions.

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