From: dskecse@... Date: 2016-12-13T14:27:04+00:00 Subject: [ruby-core:78627] [Ruby trunk Bug#13028] Binding#irb upon exiting makes _ retain the value of the last expression and never change it Issue #13028 has been reported by Dzianis Dashkevich. ---------------------------------------- Bug #13028: Binding#irb upon exiting makes _ retain the value of the last expression and never change it https://bugs.ruby-lang.org/issues/13028 * Author: Dzianis Dashkevich * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.4.0rc1 (2016-12-12 trunk 57064) [x86_64-darwin15] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Given an open `irb` session. After exiting from `binding.irb` the `_`, which is the last value of the current context, somehow retains the value of the last expression evaluated in the context of `binding.irb` and then doesn't change it. This never happens to the `irb` subshell in an open `irb` session. Steps to reproduce: 1. Fire up `irb`. 2. Type `binding.irb`. 3. Get out of the current context by pressing Ctrl-D. 4. Type anything simple like `1+3`. 5. Type `_` to see 4, receive `nil` instead. Another example: 1. Fire up `irb`. 2. Type `binding.irb`. 3. Type any expression to evaluate like `1+3`. 4. Get out of the current context by pressing Ctrl-D. 5. Type anything simple like `1+4`. 6. Type `_` to see 5, receive 4 instead. -- https://bugs.ruby-lang.org/ Unsubscribe: