[#51213] [ruby-trunk - Bug #7645][Open] BigDecimal#== slow when compared to true/false — "mathie (Graeme Mathieson)" <mathie@...>

11 messages 2013/01/01

[#51328] [ruby-trunk - Bug #7676][Open] Comparison of Float::NAN in array behaves unexpectedly — "simonrussell (Simon Russell)" <spam+ruby@...>

11 messages 2013/01/09

[#51347] [ruby-trunk - Bug #7679][Open] IRB history is broken — "zzak (Zachary Scott)" <zachary@...>

15 messages 2013/01/10

[#51389] [ruby-trunk - Bug #7688][Open] Error hiding with rb_rescue() on Comparable#==, #coerce and others — "Eregon (Benoit Daloze)" <redmine@...>

34 messages 2013/01/11

[#51430] [ruby-trunk - Bug #7696][Open] Lazy enumerators with state can't be rewound — "marcandre (Marc-Andre Lafortune)" <ruby-core@...>

15 messages 2013/01/14

[#51437] [ruby-trunk - Bug #7698][Open] RubyGems 2.0 has an incompatibility about installation of extension libraries — "mrkn (Kenta Murata)" <muraken@...>

21 messages 2013/01/15

[#51454] [CommonRuby - Feature #7701][Open] Non-optional (required) keyword args — "headius (Charles Nutter)" <headius@...>

31 messages 2013/01/15

[#51499] [ruby-trunk - Feature #7712][Open] Add .txt extensions to all plain-text documentation files for Windows users — "postmodern (Hal Brodigan)" <postmodern.mod3@...>

9 messages 2013/01/18

[#51619] [ruby-trunk - Feature #7738][Open] Deprecate Set#+ as an alias of Set#|, use it for symmetric difference. Introduce Hash#| for Hash#reverse_merge in Rails. — "alexeymuranov (Alexey Muranov)" <redmine@...>

11 messages 2013/01/24

[#51623] [ruby-trunk - Feature #7739][Open] Define Hash#| as Hash#reverse_merge in Rails — "alexeymuranov (Alexey Muranov)" <redmine@...>

24 messages 2013/01/24

[#51714] [CommonRuby - Feature #7747][Open] Expanded API for Binding semantics — "jballanc (Joshua Ballanco)" <jballanc@...>

19 messages 2013/01/27

[#51742] [ruby-trunk - Bug #7756][Open] clang 3.2 sees through UNINITIALIZED_VAR macro, gives warning — "drbrain (Eric Hodel)" <drbrain@...7.net>

10 messages 2013/01/29

[#51763] [ruby-trunk - Bug #7758][Open] Ruby on Windows crashes when active codepage is codepage 65001 and outputting unicode character — "joshc (Josh C)" <josh.nw@...>

16 messages 2013/01/30

[ruby-core:51731] [ruby-trunk - Bug #7678] $_ and $~ are shared across Fibers halfway

From: "nobu (Nobuyoshi Nakada)" <nobu@...>
Date: 2013-01-29 05:19:02 UTC
List: ruby-core #51731
Issue #7678 has been updated by nobu (Nobuyoshi Nakada).

Description updated

I think this is one of undefined behaviors, so it would cause no compatibility issue.
We can fix it once we decide which is more desirable, shared between fibers or separate per fibers.

----------------------------------------
Bug #7678: $_ and $~ are shared across Fibers halfway
https://bugs.ruby-lang.org/issues/7678#change-35697

Author: nobu (Nobuyoshi Nakada)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 2.0.0
ruby -v: r38748


=begin
((|$_|)) and ((|$~|)) have thread local method scope, but are shared across fibers in same thread.

  $ ./ruby -v -e '/a/ =~ "a"; p $~; Fiber.new{/b/=~"b"; p $~}.resume; p $~'
  ruby 2.0.0dev (2013-01-09 trunk 38748) [x86_64-darwin11]
  #<MatchData "a">
  #<MatchData "b">
  #<MatchData "b">

But, it is cleared at (({Fiber.start})).

  $ ./ruby -v -e '/a/ =~ "a"; p $~; Fiber.new{p $~}.resume; p $~'
  ruby 2.0.0dev (2013-01-09 trunk 38748) [x86_64-darwin11]
  #<MatchData "a">
  nil
  nil

These two behaviors seem mismatched.  I think:

* If they should be shared, then the latter example should show same
  (({MatchData})) 3 times.

* If they should be cleared at starting fibers, those variables in the
  original fiber should be unchanged.
=end



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

In This Thread