<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/irb/workspace.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] Don't use delegator to install helper methods to main</title>
<updated>2024-11-19T13:17:11+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-11-19T13:17:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bc9237966412c87d0a2d64b2787d2a39a04eca65'/>
<id>bc9237966412c87d0a2d64b2787d2a39a04eca65</id>
<content type='text'>
object
(https://github.com/ruby/irb/pull/1031)

IRB used delegator to install command as a method of frozen main object.
Command is not a method now. We can drop it.

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

IRB used delegator to install command as a method of frozen main object.
Command is not a method now. We can drop it.

https://github.com/ruby/irb/commit/2f1c593801
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Group class methods under `class &lt;&lt; self`</title>
<updated>2024-07-16T15:58:15+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-07-16T15:58:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4a4e1bf357f5b5f568ead4da0537eb4506e20e5f'/>
<id>4a4e1bf357f5b5f568ead4da0537eb4506e20e5f</id>
<content type='text'>
(https://github.com/ruby/irb/pull/981)

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

https://github.com/ruby/irb/commit/cdaa356df2
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Memoize helper method instances with Singleton module</title>
<updated>2024-04-24T18:32:55+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-04-24T18:32:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4349c7909f5c3e493e991f26c21bc22ec5bdac8f'/>
<id>4349c7909f5c3e493e991f26c21bc22ec5bdac8f</id>
<content type='text'>
(https://github.com/ruby/irb/pull/931)

Some helpers, like Rails console's `app`, requires memoization of the
helper's ivars. To support it IRB needs to memoize helper method instances
as well.

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

Some helpers, like Rails console's `app`, requires memoization of the
helper's ivars. To support it IRB needs to memoize helper method instances
as well.

https://github.com/ruby/irb/commit/a96c7a6668
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Revert "Memoize helper method instances with Singleton module"</title>
<updated>2024-04-24T16:01:23+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-04-24T16:01:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9bba999be7b32949b4b37dd7a871c5dc1e36c2f8'/>
<id>9bba999be7b32949b4b37dd7a871c5dc1e36c2f8</id>
<content type='text'>
This reverts commit https://github.com/ruby/irb/commit/169a9a2c3097.

https://github.com/ruby/irb/commit/221b0a4928
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit https://github.com/ruby/irb/commit/169a9a2c3097.

https://github.com/ruby/irb/commit/221b0a4928
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Memoize helper method instances with Singleton module</title>
<updated>2024-04-24T16:01:02+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-04-24T15:59:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e5ca3d072fd1076133dc7c3a9a2e399bbfcee443'/>
<id>e5ca3d072fd1076133dc7c3a9a2e399bbfcee443</id>
<content type='text'>
Some helpers, like Rails console's `app`, requires memoization of the
helper's ivars. To support it IRB needs to memoize helper method instances
as well.

https://github.com/ruby/irb/commit/169a9a2c30
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some helpers, like Rails console's `app`, requires memoization of the
helper's ivars. To support it IRB needs to memoize helper method instances
as well.

https://github.com/ruby/irb/commit/169a9a2c30
</pre>
</div>
</content>
</entry>
<entry>
<title>Sync IRB f9347b1 (#10611)</title>
<updated>2024-04-23T21:00:56+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan.lo@shopify.com</email>
</author>
<published>2024-04-23T21:00:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e11237904cdee46409d0efb436b9b9326aaff355'/>
<id>e11237904cdee46409d0efb436b9b9326aaff355</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] Command implementation not by method</title>
<updated>2024-04-10T16:52:53+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-04-10T16:52:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6a505d1b59cf326a8e004fc06e02f30222b17f3f'/>
<id>6a505d1b59cf326a8e004fc06e02f30222b17f3f</id>
<content type='text'>
(https://github.com/ruby/irb/pull/824)

* Command is not a method

* Fix command test

* Implement non-method command name completion

* Add test for ExtendCommandBundle.def_extend_command

* Add helper method install test

* Remove spaces in command input parse

* Remove command arg unquote in help command

* Simplify Statement and handle execution in IRB::Irb

* Tweak require, const name

* Always install CommandBundle module to main object

* Remove considering local variable in command or expression check

* Remove unused method, tweak

* Remove outdated comment for help command arg

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;

---------

https://github.com/ruby/irb/commit/8fb776e379

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/824)

* Command is not a method

* Fix command test

* Implement non-method command name completion

* Add test for ExtendCommandBundle.def_extend_command

* Add helper method install test

* Remove spaces in command input parse

* Remove command arg unquote in help command

* Simplify Statement and handle execution in IRB::Irb

* Tweak require, const name

* Always install CommandBundle module to main object

* Remove considering local variable in command or expression check

* Remove unused method, tweak

* Remove outdated comment for help command arg

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;

---------

https://github.com/ruby/irb/commit/8fb776e379

Co-authored-by: Stan Lo &lt;stan001212@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Turn on frozen literal in files</title>
<updated>2024-02-23T10:53:53+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan001212@gmail.com</email>
</author>
<published>2024-02-23T10:53:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4831bb5babb0743dce7aa6db6c2258d62ff962af'/>
<id>4831bb5babb0743dce7aa6db6c2258d62ff962af</id>
<content type='text'>
(https://github.com/ruby/irb/pull/881)

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

https://github.com/ruby/irb/commit/83d90550c2
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Fix exit! command warning and method behavior</title>
<updated>2024-02-12T11:28:54+00:00</updated>
<author>
<name>tomoya ishida</name>
<email>tomoyapenguin@gmail.com</email>
</author>
<published>2024-02-12T11:28:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=06995eb45b86645a945b4429c6d85597a21b40a7'/>
<id>06995eb45b86645a945b4429c6d85597a21b40a7</id>
<content type='text'>
(https://github.com/ruby/irb/pull/868)

* Fix exit! command warning and method behavior

* Remove arg(0) from Kernel.exit and Kernel.exit!

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

* Fix exit! command warning and method behavior

* Remove arg(0) from Kernel.exit and Kernel.exit!

https://github.com/ruby/irb/commit/372bc59bf5
</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>
</feed>
