[#102652] [Ruby master Bug#17664] Behavior of sockets changed in Ruby 3.0 to non-blocking — ciconia@...
Issue #17664 has been reported by ciconia (Sharon Rosner).
23 messages
2021/02/28
[ruby-core:102471] [Ruby master Bug#17623] endless def can access to outer local variables and lead to unexpected result
From:
xtkoba+ruby@...
Date:
2021-02-12 16:08:31 UTC
List:
ruby-core #102471
Issue #17623 has been updated by xtkoba (Tee KOBAYASHI).
I found that `f` is indeed defined in RubyInstaller's `irb.cmd`:
```
--- original/irb.cmd
+++ RubyInstaller/irb.cmd
@@ -28,7 +28,7 @@
end
if Gem.respond_to?(:activate_bin_path)
-load Gem.activate_bin_path('irb', 'irb', version)
+f = Gem.activate_bin_path('irb', 'irb', version); require 'irbrc_predefiner'; load f
else
gem "irb", version
load Gem.bin_path("irb", "irb", version)
```
The same goes for `str` or `version` with every environment:
```
irb(main):001:0> str
=> nil
irb(main):002:0> version
=> ">= 0.a"
irb(main):003:0>
```
I have no idea whether it is a bug or not that the local variables defind in `irb` command is visible from IRB.
----------------------------------------
Bug #17623: endless def can access to outer local variables and lead to unexpected result
https://bugs.ruby-lang.org/issues/17623#change-90359
* Author: UlyssesZhan (有丘 詹)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x64-mingw32]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
``` ruby
irb(main):001:0> a = 1
=> 1
irb(main):002:0> def f = a
=> :f
irb(main):003:0> f
=> "D:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/irb-1.3.0/exe/irb"
```
I have not idea what it means.
The codes just work fine outside irb.
Maybe it is a bug.
--
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>