Issue #18234 has been updated by jeremyevans0 (Jeremy Evans).


I submitted a pull request to irb to fix this by calling super if UncaughtThrowError is raised by IRB::Context#exit: https://github.com/ruby/irb/pull/298

----------------------------------------
Bug #18234: exit after `binding.irb`
https://bugs.ruby-lang.org/issues/18234#change-94027

* Author: ko1 (Koichi Sasada)
* Status: Open
* Priority: Normal
* ruby -v: 3.1.0dev
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
`exit` after `binding.irb' calls IRB's `exit` and raises an error.

expected:

```ruby
# binding.irb
exit #=> terminate program
```

actual just after `binding.irb`:

```ruby
binding.irb
exit 
```

```
From: /home/ko1/ruby/src/trunk/test.rb @ line 2 :

    1:
 => 2: binding.irb
    3: exit #=> terminate program
    4:
    5: __END__

irb(main):001:0>
/home/ko1/ruby/src/trunk/lib/irb.rb:428:in `throw': uncaught throw :IRB_EXIT (UncaughtThrowError)
        from /home/ko1/ruby/src/trunk/lib/irb.rb:428:in `irb_exit'
        from /home/ko1/ruby/src/trunk/lib/irb/context.rb:480:in `exit'
        from /home/ko1/ruby/src/trunk/lib/irb/extend-command.rb:30:in `irb_exit'
        from /home/ko1/ruby/src/trunk/test.rb:3:in `<main>'
make: *** [uncommon.mk:1242: runruby] Error 1

```

Not so big issue.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>