<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/irb, branch v3_2_11</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] PTY module is platform dependent</title>
<updated>2022-12-19T08:49:59+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-12-19T08:29:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1148636e3dfb3aa25485b6e5cf40c043df848c07'/>
<id>1148636e3dfb3aa25485b6e5cf40c043df848c07</id>
<content type='text'>
https://github.com/ruby/irb/commit/dbb3dc72ff
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/irb/commit/dbb3dc72ff
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Prefer to use File.open instead of Kernel.open</title>
<updated>2022-12-16T01:10:46+00:00</updated>
<author>
<name>Hiroshi SHIBATA</name>
<email>hsbt@ruby-lang.org</email>
</author>
<published>2022-12-15T04:55:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d6624db92608f65b5ba91de8a927916f7b096c5b'/>
<id>d6624db92608f65b5ba91de8a927916f7b096c5b</id>
<content type='text'>
https://github.com/ruby/irb/commit/ed9e435a6b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/ruby/irb/commit/ed9e435a6b
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Group show_doc tests and update the expectation</title>
<updated>2022-12-12T21:05:03+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan.lo@shopify.com</email>
</author>
<published>2022-12-12T21:04:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f88f2bd92f4a1760c0f323614c45369d6a281317'/>
<id>f88f2bd92f4a1760c0f323614c45369d6a281317</id>
<content type='text'>
(https://github.com/ruby/irb/pull/479)

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

https://github.com/ruby/irb/commit/bede04c14a
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] `show_doc` command should take non-string argument too</title>
<updated>2022-12-12T17:35:48+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan.lo@shopify.com</email>
</author>
<published>2022-12-12T17:35:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=223d4448c827b9daeb6a61312777e67405e66379'/>
<id>223d4448c827b9daeb6a61312777e67405e66379</id>
<content type='text'>
(https://github.com/ruby/irb/pull/478)

Given that `show_doc` already supports syntax like `String#gsub`, it
should be able to take it in non-string form too, like `edit` and
`show_source` do. This ensures users can have a consistent syntax on
argument between different commands.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/478)

Given that `show_doc` already supports syntax like `String#gsub`, it
should be able to take it in non-string form too, like `edit` and
`show_source` do. This ensures users can have a consistent syntax on
argument between different commands.</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Fix step command (https://github.com/ruby/irb/pull/477)</title>
<updated>2022-12-09T23:39:17+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan.lo@shopify.com</email>
</author>
<published>2022-12-09T23:39:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=381e128c135e491689714cb69353d11e782f5994'/>
<id>381e128c135e491689714cb69353d11e782f5994</id>
<content type='text'>
The current `next` pre-command workaround on IRB source stepping
moves the location by 1 extra line. A better way is to make `debug`
skip IRB frames completely, which is what this commit does.

It also fixes the step command's test. The `|` in regexp was not escaped
so it was always incorrectly matched.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The current `next` pre-command workaround on IRB source stepping
moves the location by 1 extra line. A better way is to make `debug`
skip IRB frames completely, which is what this commit does.

It also fixes the step command's test. The `|` in regexp was not escaped
so it was always incorrectly matched.</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Add show_doc as an alias to the help command</title>
<updated>2022-12-08T21:46:55+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan.lo@shopify.com</email>
</author>
<published>2022-12-08T21:46:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c9076d546aae9dbcb7da404aada7ce8d23e2273b'/>
<id>c9076d546aae9dbcb7da404aada7ce8d23e2273b</id>
<content type='text'>
(https://github.com/ruby/irb/pull/475)

In the long-term, we want to align with `Pry`, `byebug` and `debug` to
use the `help` command to list all commands, which is what `show_cmds`
currently does. And `show_doc` will be the command to look up Ruby APIs.

By aliasing `show_doc` to the current `help` now, users will have time
to get use to it.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/475)

In the long-term, we want to align with `Pry`, `byebug` and `debug` to
use the `help` command to list all commands, which is what `show_cmds`
currently does. And `show_doc` will be the command to look up Ruby APIs.

By aliasing `show_doc` to the current `help` now, users will have time
to get use to it.</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Gracefully handle missing command argument</title>
<updated>2022-12-08T21:05:37+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan.lo@shopify.com</email>
</author>
<published>2022-12-08T21:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=12b7c129bf8ed3a113e2cc73f817868507504268'/>
<id>12b7c129bf8ed3a113e2cc73f817868507504268</id>
<content type='text'>
(https://github.com/ruby/irb/pull/473)

* Handle file loading commands' argument error gracefully

Currently, if users don't provide an argument to `source`,
`irb_load`, and `irb_require`, IRB raises `ArgumentError` with full
stacktrace. This is confusing because it looks similar to when IRB has
internal issues. The message also isn't helpful on helping users avoid
the error.

So in this commit, I add a new `CommandArgumentError` for commands to
raise explicitly when users' input doesn't satisfy a command's argument
requirement.

* Gracefully handle `fg` command's argument requirement</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/473)

* Handle file loading commands' argument error gracefully

Currently, if users don't provide an argument to `source`,
`irb_load`, and `irb_require`, IRB raises `ArgumentError` with full
stacktrace. This is confusing because it looks similar to when IRB has
internal issues. The message also isn't helpful on helping users avoid
the error.

So in this commit, I add a new `CommandArgumentError` for commands to
raise explicitly when users' input doesn't satisfy a command's argument
requirement.

* Gracefully handle `fg` command's argument requirement</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Kill PTY process after test is finished</title>
<updated>2022-12-08T19:11:51+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan.lo@shopify.com</email>
</author>
<published>2022-12-08T19:11:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a87f802f1ecc2f1442f4590dc58068a72f68eae9'/>
<id>a87f802f1ecc2f1442f4590dc58068a72f68eae9</id>
<content type='text'>
(https://github.com/ruby/irb/pull/471)

The killing/waiting logic is borrowed from ruby/debug:

https://github.com/ruby/debug/blob/ec5ae5aebd61a99dc84028d8dffa8e7e165c1ec6/test/support/test_case.rb#L107-L136</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(https://github.com/ruby/irb/pull/471)

The killing/waiting logic is borrowed from ruby/debug:

https://github.com/ruby/debug/blob/ec5ae5aebd61a99dc84028d8dffa8e7e165c1ec6/test/support/test_case.rb#L107-L136</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Add "show_cmds" command to list all commands'</title>
<updated>2022-12-08T19:10:23+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan.lo@shopify.com</email>
</author>
<published>2022-12-08T19:10:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3956bb859c2442d34ea171db8f92f3e5895c43d9'/>
<id>3956bb859c2442d34ea171db8f92f3e5895c43d9</id>
<content type='text'>
descriptions
(https://github.com/ruby/irb/pull/463)

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

https://github.com/ruby/irb/commit/7e857655ac
</pre>
</div>
</content>
</entry>
<entry>
<title>[ruby/irb] Allow disabling autocompletion with</title>
<updated>2022-12-06T00:53:32+00:00</updated>
<author>
<name>Stan Lo</name>
<email>stan.lo@shopify.com</email>
</author>
<published>2022-12-06T00:53:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9aa18f61f297fcb2ee0cbd4be0772607745274b7'/>
<id>9aa18f61f297fcb2ee0cbd4be0772607745274b7</id>
<content type='text'>
`IRB_USE_AUTOCOMPLETE=false`
(https://github.com/ruby/irb/pull/469)

* Allow using IRB_USE_AUTOCOMPLETE=false to disable autocompletion

Currently, the only 2 ways to disable autocompletion are:

1. Create `.irbrc` and set `IRB.conf[:USE_AUTOCOMPLETE] = false`
2. Add the `--noautocomplete` flag when using the `irb` executable

Both of them are less convenient than setting a env var and are
lesser known to devs.

And given the number of problems the autocompletion has (see #445), I
think we should allow disabling it with a simple `IRB_USE_AUTOCOMPLETE=false`.

* Mention some env var configs in the README</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`IRB_USE_AUTOCOMPLETE=false`
(https://github.com/ruby/irb/pull/469)

* Allow using IRB_USE_AUTOCOMPLETE=false to disable autocompletion

Currently, the only 2 ways to disable autocompletion are:

1. Create `.irbrc` and set `IRB.conf[:USE_AUTOCOMPLETE] = false`
2. Add the `--noautocomplete` flag when using the `irb` executable

Both of them are less convenient than setting a env var and are
lesser known to devs.

And given the number of problems the autocompletion has (see #445), I
think we should allow disabling it with a simple `IRB_USE_AUTOCOMPLETE=false`.

* Mention some env var configs in the README</pre>
</div>
</content>
</entry>
</feed>
