<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-13891</id>
	<title>Nabble - ruby-core</title>
	<updated>2010-02-23T18:01:41Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/ruby-core-f13891.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ruby-core-f13891.html" />
	<subtitle type="html">Core and implementation topics about Ruby, often used to run patches for review.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-27713802</id>
	<title>[ruby-core:28325] [Bug #2670](Closed) Net::IMAP parser problem</title>
	<published>2010-02-23T18:01:41Z</published>
	<updated>2010-02-23T18:01:41Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Issue #2670 has been updated by Shugo Maeda.
&lt;br&gt;&lt;br&gt;Status changed from Open to Closed
&lt;br&gt;&lt;br&gt;It seems that the fix has been already backported into the ruby_1_8_7 branch.
&lt;br&gt;If you would like to see the fix in the ruby_1_8_6 branch, please create a ticket in the Ruby 1.8.6 project.
&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2670&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2670&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A27913---Bug--2670--Net%3A%3AIMAP-parser-problem-tp27348791p27713802.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27713383</id>
	<title>[ruby-core:28324] [Bug #2788] nil.instance_eval pushes nil onto cref</title>
	<published>2010-02-23T17:10:42Z</published>
	<updated>2010-02-23T17:10:42Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Bug #2788: nil.instance_eval pushes nil onto cref
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2788&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2788&lt;/a&gt;&lt;br&gt;&lt;br&gt;Author: Shugo Maeda
&lt;br&gt;Status: Assigned, Priority: Low
&lt;br&gt;Assigned to: Yukihiro Matsumoto, Category: core
&lt;br&gt;ruby -v: ruby 1.9.2dev (2010-02-18 trunk 26704) [i686-linux]
&lt;br&gt;&lt;br&gt;A singleton class definition of nil pushes NilClass onto cref.
&lt;br&gt;It is reasonable because NilClass has nil as the only instance.
&lt;br&gt;However, nil.instance_eval pushes nil onto cref, which means that method definitions are not permitted in that context.
&lt;br&gt;&lt;br&gt;&amp;nbsp; defiant:ruby$ ruby-trunk -ve 'class &amp;lt;&amp;lt;nil; def foo; puts &amp;quot;foo&amp;quot; end; end; nil.foo'
&lt;br&gt;&amp;nbsp; ruby 1.9.2dev (2010-02-18 trunk 26704) [i686-linux]
&lt;br&gt;&amp;nbsp; foo
&lt;br&gt;&amp;nbsp; defiant:ruby$ ruby-trunk -ve 'nil.instance_eval {|i| def foo; puts &amp;quot;foo&amp;quot; end }; nil.foo' &amp;nbsp;
&lt;br&gt;&amp;nbsp; ruby 1.9.2dev (2010-02-18 trunk 26704) [i686-linux]
&lt;br&gt;&amp;nbsp; -e:1:in `block in &amp;lt;main&amp;gt;': no class/module to add method (TypeError)
&lt;br&gt;&amp;nbsp; 	from -e:1:in `instance_eval'
&lt;br&gt;&amp;nbsp; 	from -e:1:in `&amp;lt;main&amp;gt;'
&lt;br&gt;&lt;br&gt;The behavior is the same in Ruby 1.8.7.
&lt;br&gt;Is it intended or a bug?
&lt;br&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28324---Bug--2788--nil.instance_eval-pushes-nil-onto-cref-tp27713383p27713383.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27712871</id>
	<title>[ruby-core:28323] [Bug #2555] &quot;case n when *VALID&quot; Broken in Ruby 1.8.8; affects Ruby on Rails</title>
	<published>2010-02-23T16:13:41Z</published>
	<updated>2010-02-23T16:13:41Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Issue #2555 has been updated by Sam Ruby.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/repositories/revision/ruby-18?rev=26737&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/repositories/revision/ruby-18?rev=26737&lt;/a&gt;&amp;nbsp;reverts &lt;a href=&quot;http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&amp;revision=24695&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&amp;revision=24695&lt;/a&gt;&amp;nbsp;and addresses this problem. &amp;nbsp;This issue can be closed at this time.
&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2555&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2555&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A27395---Bug--2555--%22case-n-when-*VALID%22-Broken-in-Ruby-1.8.8--affects-Ruby-on-Rails-tp27016680p27712871.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27712351</id>
	<title>[ruby-core:28322] [Bug #2786] Segfault when loading gem</title>
	<published>2010-02-23T15:25:53Z</published>
	<updated>2010-02-23T15:25:53Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Bug #2786: Segfault when loading gem
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2786&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2786&lt;/a&gt;&lt;br&gt;&lt;br&gt;Author: Ryan Bates
&lt;br&gt;Status: Open, Priority: Normal
&lt;br&gt;ruby -v: ruby 1.9.2dev (2010-02-24 trunk 26744) [x86_64-darwin10.0.0]
&lt;br&gt;&lt;br&gt;I am occasionally getting a segfault error when using cucumber 0.6.2 with latest ruby trunk (26744) in Mac OS X 10.6.1. It is happening about 25% of the time I run the cucumber command. Here's the full error:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://gist.github.com/312461#file_cucumber_segfault&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gist.github.com/312461#file_cucumber_segfault&lt;/a&gt;&lt;br&gt;&lt;br&gt;From that error it looks like it is happening when calling the &amp;quot;gem&amp;quot; method and RubyGems is trying to raise an error when it can't find the gem. This is the line in cucumber (ansicolor.rb).
&lt;br&gt;&lt;br&gt;&amp;nbsp; gem 'genki-ruby-terminfo'
&lt;br&gt;&lt;br&gt;I tried to duplicate this by executing that line in irb. I get a Gem::LoadError saying the gem doesn't exist but never a segfault there.
&lt;br&gt;&lt;br&gt;Sorry if this isn't the right place to post this ticket.
&lt;br&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28322---Bug--2786--Segfault-when-loading-gem-tp27712351p27712351.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27711997</id>
	<title>[ruby-core:28321] Re: [Bug #2782] Binding#eval not completely indicative of its binding</title>
	<published>2010-02-23T14:56:21Z</published>
	<updated>2010-02-23T14:56:21Z</updated>
	<author>
		<name>Ryan Davis-2</name>
	</author>
	<content type="html">&lt;br&gt;On Feb 23, 2010, at 05:18 , Thomas Sawyer wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Bug #2782: Binding#eval not completely indicative of its binding
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2782&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2782&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Author: Thomas Sawyer
&lt;br&gt;&amp;gt; Status: Open, Priority: Normal
&lt;br&gt;&amp;gt; Category: core
&lt;br&gt;&amp;gt; ruby -v: 1.9.1
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; binding.eval(&amp;quot;__FILE__&amp;quot;) does not return the file from which the binding was created.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Given the purpose of binding it should hold that:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;__FILE__ == binding.eval(&amp;quot;__FILE__&amp;quot;)
&lt;/div&gt;&lt;br&gt;Just my two cents: (yen?)
&lt;br&gt;&lt;br&gt;__FILE__ is expanded at parse time directly into the parse tree. As such, it isn't really a variable or a constant, just a placeholder. I don't think it is going to be easy to make it act like a constant for Binding#eval.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28307---Bug--2782--Binding-eval-not-completely-indicative-of-its-binding-tp27703163p27711997.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27710107</id>
	<title>[ruby-core:28320] [Bug #2785] Resolv::DNS Requester#request not checking for nil result</title>
	<published>2010-02-23T12:38:59Z</published>
	<updated>2010-02-23T12:38:59Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Bug #2785: Resolv::DNS Requester#request not checking for nil result
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2785&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2785&lt;/a&gt;&lt;br&gt;&lt;br&gt;Author: Paul Clegg
&lt;br&gt;Status: Open, Priority: Normal
&lt;br&gt;Category: lib
&lt;br&gt;ruby -v: ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
&lt;br&gt;&lt;br&gt;We've been using Resolv::DNS for some heavy-duty DNS querying, and came across this exception:
&lt;br&gt;&lt;br&gt;/usr/local/lib/ruby/1.8/resolv.rb:630:in `request': undefined method `data' for nil:NilClass (NoMethodError)
&lt;br&gt;&lt;br&gt;Although we haven't been able to reproduce it consistently, looking at the code, there are two ways this scenario can happen:
&lt;br&gt;&lt;br&gt;1. &amp;nbsp;Within the timeout period, all the messages received failed to decode for one reason or another.
&lt;br&gt;2. &amp;nbsp;All the messages received were the results for other DNS queries.
&lt;br&gt;&lt;br&gt;In either case, the local variable 's' is never assigned (or is assigned 'nil') so the final &amp;quot;return msg, s.data&amp;quot; results in a NoMethodError exception.
&lt;br&gt;&lt;br&gt;I'm not sure if it should return &amp;quot;nil&amp;quot; if no valid result is returned, or raise a more specific exception (such as DecodeError), but dereferencing nil definitely seems like a bug.
&lt;br&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28320---Bug--2785--Resolv%3A%3ADNS-Requester-request-not-checking-for-nil-result-tp27710107p27710107.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27709575</id>
	<title>[ruby-core:28319] [Bug #2781] crash when gc_mark()ing already free'd locals of cloned scope</title>
	<published>2010-02-23T12:02:05Z</published>
	<updated>2010-02-23T12:02:05Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Issue #2781 has been updated by coderrr ..
&lt;br&gt;&lt;br&gt;&lt;br&gt;just realized the check for SCOPE_CLONE is also no longer needed before freeing locals: &lt;a href=&quot;http://github.com/coderrr/matzruby/commit/9c80aae67002e443314033b04ceb9c6e5b886c57&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/coderrr/matzruby/commit/9c80aae67002e443314033b04ceb9c6e5b886c57&lt;/a&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2781&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2781&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28300---Bug--2781--crash-when-gc_mark%28%29ing-already-free%27d-locals-of-cloned-scope-tp27696607p27709575.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27708676</id>
	<title>[ruby-core:28318] [Bug #2784] The formatting options hash passed to the to_yaml methods do nothing.</title>
	<published>2010-02-23T11:09:26Z</published>
	<updated>2010-02-23T11:09:26Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Bug #2784: The formatting options hash passed to the to_yaml methods do nothing.
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2784&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2784&lt;/a&gt;&lt;br&gt;&lt;br&gt;Author: Anshul Khandelwal
&lt;br&gt;Status: Open, Priority: High
&lt;br&gt;Category: lib
&lt;br&gt;ruby -v: 1.8.7, 1.9.1
&lt;br&gt;&lt;br&gt;At the moment, there appears to be no documented way to format the output of the various to_yaml methods. &amp;nbsp;They all accept an options hash but the documentation does not specify what options may be passed.
&lt;br&gt;&lt;br&gt;Also, the use of to_yaml_style is undocumented.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;class Array
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; def to_yaml_style
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; :inline
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end
&lt;br&gt;&amp;nbsp; &amp;nbsp;end
&lt;br&gt;&lt;br&gt;results in inline formatting of the resulting yaml. &amp;nbsp;This is not documented anywhere but works. 
&lt;br&gt;&lt;br&gt;This is further described in [1] and [2].
&lt;br&gt;&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://stackoverflow.com/questions/1054730/is-it-possible-to-specify-formatting-options-for-toyaml-in-ruby&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://stackoverflow.com/questions/1054730/is-it-possible-to-specify-formatting-options-for-toyaml-in-ruby&lt;/a&gt;&amp;nbsp;
&lt;br&gt;[2] &lt;a href=&quot;http://stackoverflow.com/questions/2156762/how-to-get-the-formatting-options-for-the-to-yaml-method-working-on-ruby-1-9-1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://stackoverflow.com/questions/2156762/how-to-get-the-formatting-options-for-the-to-yaml-method-working-on-ruby-1-9-1&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28318---Bug--2784--The-formatting-options-hash-passed-to-the-to_yaml-methods-do-nothing.-tp27708676p27708676.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27708036</id>
	<title>[ruby-core:28317] [Bug #2783] Segmentation Fault (using libxml-ruby)</title>
	<published>2010-02-23T10:30:38Z</published>
	<updated>2010-02-23T10:30:38Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Issue #2783 has been updated by Jon Forums.
&lt;br&gt;&lt;br&gt;&lt;br&gt;If you've somehow installed the x86-mswin32-60 gem in your RubyInstaller environment, the gem linked against a different Ruby version (MSVCRT-RUBY18.DLL) than the 1.9.1 version you're running. &amp;nbsp;This issue is a known cause of segfaults.
&lt;br&gt;&lt;br&gt;A very good XML library that uses libxml2 is Nokogiri &lt;a href=&quot;http://nokogiri.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://nokogiri.org/&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;It is well documented, well maintained, and works well on multiple Ruby versions and implementations including Windows. &amp;nbsp;I'd highly suggest the switch. &amp;nbsp;Try it out with a simple &amp;quot;gem install nokogiri&amp;quot;
&lt;br&gt;&lt;br&gt;Jon
&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2783&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2783&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28315---Bug--2783--Segmentation-Fault-%28using-libxml-ruby%29-tp27707473p27708036.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27707703</id>
	<title>[ruby-core:28316] [Bug #2783] Segmentation Fault (using libxml-ruby)</title>
	<published>2010-02-23T10:07:09Z</published>
	<updated>2010-02-23T10:07:09Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Issue #2783 has been updated by Jon Forums.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Please show the results of running the following commands
&lt;br&gt;&lt;br&gt;gem env
&lt;br&gt;&lt;br&gt;gem list libxml-ruby -d
&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2783&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2783&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28315---Bug--2783--Segmentation-Fault-%28using-libxml-ruby%29-tp27707473p27707703.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27707473</id>
	<title>[ruby-core:28315] [Bug #2783] Segmentation Fault (using libxml-ruby)</title>
	<published>2010-02-23T09:51:57Z</published>
	<updated>2010-02-23T09:51:57Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Bug #2783: Segmentation Fault (using libxml-ruby)
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2783&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2783&lt;/a&gt;&lt;br&gt;&lt;br&gt;Author: Damián D'Onia
&lt;br&gt;Status: Open, Priority: Normal
&lt;br&gt;ruby -v: ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]
&lt;br&gt;&lt;br&gt;I was running a program that creates a new XML node each iteration and save it to a file. I'm newbi using Ruby. This was the error text:
&lt;br&gt;&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:36: [BUG] Segmentation fault
&lt;br&gt;ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]
&lt;br&gt;&lt;br&gt;-- control frame ----------
&lt;br&gt;c:0015 p:---- s:0051 b:0051 l:000050 d:000050 CFUNC &amp;nbsp;:[]
&lt;br&gt;c:0014 p:0008 s:0047 b:0047 l:000028 d:000046 BLOCK &amp;nbsp;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:36
&lt;br&gt;c:0013 p:---- s:0043 b:0043 l:000042 d:000042 FINISH
&lt;br&gt;c:0012 p:---- s:0041 b:0041 l:000040 d:000040 CFUNC &amp;nbsp;:each
&lt;br&gt;c:0011 p:0058 s:0038 b:0038 l:000028 d:000037 BLOCK &amp;nbsp;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:35
&lt;br&gt;c:0010 p:---- s:0034 b:0034 l:000033 d:000033 FINISH
&lt;br&gt;c:0009 p:---- s:0032 b:0032 l:000031 d:000031 CFUNC &amp;nbsp;:each
&lt;br&gt;c:0008 p:0055 s:0029 b:0029 l:000028 d:000028 METHOD C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:32
&lt;br&gt;c:0007 p:0118 s:0025 b:0025 l:000024 d:000024 METHOD C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file_manager.rb:111
&lt;br&gt;c:0006 p:0065 s:0018 b:0018 l:001a3c d:000017 BLOCK &amp;nbsp;C:/workspace/netbeans/DespegarLogPreProcessor/lib/main.rb:20
&lt;br&gt;c:0005 p:---- s:0013 b:0013 l:000012 d:000012 FINISH
&lt;br&gt;c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC &amp;nbsp;:each
&lt;br&gt;c:0003 p:0108 s:0008 b:0008 l:001a3c d:00193c EVAL &amp;nbsp; C:/workspace/netbeans/DespegarLogPreProcessor/lib/main.rb:13
&lt;br&gt;c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
&lt;br&gt;c:0001 p:0000 s:0002 b:0002 l:001a3c d:001a3c TOP &amp;nbsp; 
&lt;br&gt;---------------------------
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:36: [BUG] object allocation during garbage collection phase
&lt;br&gt;ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]
&lt;br&gt;&lt;br&gt;-- control frame ----------
&lt;br&gt;c:0015 p:---- s:0051 b:0051 l:000050 d:000050 CFUNC &amp;nbsp;:[]
&lt;br&gt;c:0014 p:0008 s:0047 b:0047 l:000028 d:000046 BLOCK &amp;nbsp;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:36
&lt;br&gt;c:0013 p:---- s:0043 b:0043 l:000042 d:000042 FINISH
&lt;br&gt;c:0012 p:---- s:0041 b:0041 l:000040 d:000040 CFUNC &amp;nbsp;:each
&lt;br&gt;c:0011 p:0058 s:0038 b:0038 l:000028 d:000037 BLOCK &amp;nbsp;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:35
&lt;br&gt;c:0010 p:---- s:0034 b:0034 l:000033 d:000033 FINISH
&lt;br&gt;c:0009 p:---- s:0032 b:0032 l:000031 d:000031 CFUNC &amp;nbsp;:each
&lt;br&gt;c:0008 p:0055 s:0029 b:0029 l:000028 d:000028 METHOD C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:32
&lt;br&gt;c:0007 p:0118 s:0025 b:0025 l:000024 d:000024 METHOD C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file_manager.rb:111
&lt;br&gt;c:0006 p:0065 s:0018 b:0018 l:001a3c d:000017 BLOCK &amp;nbsp;C:/workspace/netbeans/DespegarLogPreProcessor/lib/main.rb:20
&lt;br&gt;c:0005 p:---- s:0013 b:0013 l:000012 d:000012 FINISH
&lt;br&gt;c:0004 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC &amp;nbsp;:each
&lt;br&gt;c:0003 p:0108 s:0008 b:0008 l:001a3c d:00193c EVAL &amp;nbsp; C:/workspace/netbeans/DespegarLogPreProcessor/lib/main.rb:13
&lt;br&gt;c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
&lt;br&gt;c:0001 p:0000 s:0002 b:0002 l:001a3c d:001a3c TOP &amp;nbsp; 
&lt;br&gt;---------------------------
&lt;br&gt;-- Ruby level backtrace information-----------------------------------------
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:36:in `[]'
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:36:in `block (2 levels) in getrecord'
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:35:in `each'
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:35:in `block in getrecord'
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:32:in `each'
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file.rb:32:in `getrecord'
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/despegar_log_file_manager.rb:111:in `to_xml3'
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/main.rb:20:in `block in &amp;lt;main&amp;gt;'
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/main.rb:13:in `each'
&lt;br&gt;C:/workspace/netbeans/DespegarLogPreProcessor/lib/main.rb:13:in `&amp;lt;main&amp;gt;'
&lt;br&gt;&lt;br&gt;[NOTE]
&lt;br&gt;You may encounter a bug of Ruby interpreter. Bug reports are welcome.
&lt;br&gt;For details: &lt;a href=&quot;http://www.ruby-lang.org/bugreport.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ruby-lang.org/bugreport.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;This application has requested the Runtime to terminate it in an unusual way.
&lt;br&gt;Please contact the application's support team for more information.
&lt;br&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28315---Bug--2783--Segmentation-Fault-%28using-libxml-ruby%29-tp27707473p27707473.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27706302</id>
	<title>[ruby-core:28314] Re: Is Math module a wrapper of libm?</title>
	<published>2010-02-23T08:40:18Z</published>
	<updated>2010-02-23T08:40:18Z</updated>
	<author>
		<name>Kenta Murata</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;On 2010/02/23, at 14:15, Marc-Andre Lafortune &amp;lt;&lt;a&gt;ruby-core-mailing-list@...&lt;/a&gt; 
&lt;br&gt;&amp;nbsp;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; ArgumentError makes sense to me, but I'm not sure why it was
&lt;br&gt;&amp;gt; originally chosen that DivisionByZero was not an ArgumentError.
&lt;br&gt;&lt;br&gt;I believe DivideByZero may be a subclass of ArgumentError because it &amp;nbsp;
&lt;br&gt;is almost synonym to the pole error.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Kenta Murata from iPhone
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28206--Is-Math-module-a-wrapper-of-libm--tp27633924p27706302.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27704635</id>
	<title>[ruby-core:28313] Re: [Feature #1082] add Object#singleton_class method</title>
	<published>2010-02-23T07:00:54Z</published>
	<updated>2010-02-23T07:00:54Z</updated>
	<author>
		<name>James Gray-8</name>
	</author>
	<content type="html">On Feb 23, 2010, at 8:48 AM, Shugo Maeda wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;singleton_class?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; x.singleton_class? sounds like &amp;quot;Is x a singleton class?&amp;quot;, doesn't it?
&lt;br&gt;&lt;br&gt;Yes, good point.
&lt;br&gt;&lt;br&gt;James Edward Gray II
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A21702---Feature--1082--add-Object-singleton_class-method-tp21768202p27704635.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27704416</id>
	<title>[ruby-core:28312] Re: [Feature #1082] add Object#singleton_class  method</title>
	<published>2010-02-23T06:48:54Z</published>
	<updated>2010-02-23T06:48:54Z</updated>
	<author>
		<name>Shugo Maeda</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;2010/2/23 James Edward Gray II &amp;lt;&lt;a&gt;james@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt; He said that it may be worth considering whether
&lt;br&gt;&amp;gt;&amp;gt; singleton_class should provide an (optional) way to tell the existence
&lt;br&gt;&amp;gt;&amp;gt; of a singleton class.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think I would rather have another method for that, than a boolean flag:
&lt;br&gt;&lt;br&gt;Then, how about to introduce singleton_class as just a short form of
&lt;br&gt;class &amp;lt;&amp;lt;obj; self; end at first?
&lt;br&gt;We can add another method or an optional argument of singleton_class later.
&lt;br&gt;&lt;br&gt;&amp;gt;  singleton_class?
&lt;br&gt;&lt;br&gt;x.singleton_class? sounds like &amp;quot;Is x a singleton class?&amp;quot;, doesn't it?
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Shugo Maeda
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A21702---Feature--1082--add-Object-singleton_class-method-tp21768202p27704416.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27704187</id>
	<title>[ruby-core:28311] Re: [Feature #1082] add Object#singleton_class method</title>
	<published>2010-02-23T06:28:59Z</published>
	<updated>2010-02-23T06:28:59Z</updated>
	<author>
		<name>James Gray-8</name>
	</author>
	<content type="html">On Feb 23, 2010, at 8:26 AM, Shugo Maeda wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; He said that it may be worth considering whether
&lt;br&gt;&amp;gt; singleton_class should provide an (optional) way to tell the existence
&lt;br&gt;&amp;gt; of a singleton class.
&lt;br&gt;&lt;br&gt;I think I would rather have another method for that, than a boolean flag:
&lt;br&gt;&lt;br&gt;&amp;nbsp; singleton_class?
&lt;br&gt;&amp;nbsp; has_singleton_class?
&lt;br&gt;&lt;br&gt;James Edward Gray II
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A21702---Feature--1082--add-Object-singleton_class-method-tp21768202p27704187.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27704184</id>
	<title>[ruby-core:28310] Re: [Feature #1082] add Object#singleton_class method</title>
	<published>2010-02-23T06:28:22Z</published>
	<updated>2010-02-23T06:28:22Z</updated>
	<author>
		<name>James Gray-8</name>
	</author>
	<content type="html">On Feb 23, 2010, at 1:14 AM, Shugo Maeda wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2010/1/5 Yukihiro Matsumoto &amp;lt;&lt;a&gt;matz@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt; Basically, I agree. &amp;nbsp;But I cannot deny the fact that we already have
&lt;br&gt;&amp;gt;&amp;gt; singleton.rb in the distribution, which provide Singleton class. &amp;nbsp;I
&lt;br&gt;&amp;gt;&amp;gt; confess I did. &amp;nbsp;Probably I shouldn't have.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Today, I talked with Matz, and he has finally agreed with the use of
&lt;br&gt;&amp;gt; the term &amp;quot;singleton class.&amp;quot; &amp;nbsp;The reason why he has chosen the term
&lt;br&gt;&amp;gt; &amp;quot;singleton class&amp;quot; is that we have already had
&lt;br&gt;&amp;gt; Kernel#singleton_methods.
&lt;/div&gt;&lt;br&gt;Hooray!
&lt;br&gt;&lt;br&gt;James Edward Gray II
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A21702---Feature--1082--add-Object-singleton_class-method-tp21768202p27704184.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27704070</id>
	<title>[ruby-core:28309] Re: [Feature #1082] add Object#singleton_class  method</title>
	<published>2010-02-23T06:26:31Z</published>
	<updated>2010-02-23T06:26:31Z</updated>
	<author>
		<name>Shugo Maeda</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;2010/2/23 Kornelius Kalnbach &amp;lt;&lt;a&gt;murphy@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt; Then, the next issue is whether Kernel#singleton_class should create
&lt;br&gt;&amp;gt;&amp;gt; an eigenclass when the receiver has no eigenclass.  It would be better
&lt;br&gt;&amp;gt;&amp;gt; to have an optional argument (singleton_class(true/false) or
&lt;br&gt;&amp;gt;&amp;gt; singleton_class(:create =&amp;gt; true)?) to switch the behavior.
&lt;br&gt;&amp;gt; I always perceived singleton classes to be transparently created in the
&lt;br&gt;&amp;gt; background. Would it be wise to give the programmer access to its
&lt;br&gt;&amp;gt; existence status? (I assume singleton_class(false) == nil would behave
&lt;br&gt;&amp;gt; like a singleton_class? method.) Today, Ruby has no way of telling
&lt;br&gt;&amp;gt; whether an object already has a singleton class, or am I wrong?
&lt;br&gt;&lt;br&gt;You are right, and it is why Matz wondered whether singleton_class
&lt;br&gt;should create singleton classes. &amp;nbsp;If it always creates singleton
&lt;br&gt;classes, obj.singleton_class is just a short form of class &amp;lt;&amp;lt; obj;
&lt;br&gt;self; end. &amp;nbsp;He said that it may be worth considering whether
&lt;br&gt;singleton_class should provide an (optional) way to tell the existence
&lt;br&gt;of a singleton class.
&lt;br&gt;&lt;br&gt;I think transparent creation of singleton classes is reasonable, but
&lt;br&gt;it sometimes annoys me when I'm investigating the behavior of Ruby.
&lt;br&gt;However, I don't come up with such a situation in a real-world
&lt;br&gt;application.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Shugo Maeda
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A21702---Feature--1082--add-Object-singleton_class-method-tp21768202p27704070.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27704017</id>
	<title>[ruby-core:28308] Re: [Feature #1082] add Object#singleton_class  method</title>
	<published>2010-02-23T06:23:35Z</published>
	<updated>2010-02-23T06:23:35Z</updated>
	<author>
		<name>James Gray-8</name>
	</author>
	<content type="html">On Feb 23, 2010, at 2:19 AM, Haase, Konstantin wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Feb 23, 2010, at 08:46 , Kornelius Kalnbach wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Then, the next issue is whether Kernel#singleton_class should create
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; an eigenclass when the receiver has no eigenclass. &amp;nbsp;It would be better
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to have an optional argument (singleton_class(true/false) or
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; singleton_class(:create =&amp;gt; true)?) to switch the behavior.
&lt;br&gt;&amp;gt;&amp;gt; I always perceived singleton classes to be transparently created in the
&lt;br&gt;&amp;gt;&amp;gt; background. Would it be wise to give the programmer access to its
&lt;br&gt;&amp;gt;&amp;gt; existence status? (I assume singleton_class(false) == nil would behave
&lt;br&gt;&amp;gt;&amp;gt; like a singleton_class? method.) Today, Ruby has no way of telling
&lt;br&gt;&amp;gt;&amp;gt; whether an object already has a singleton class, or am I wrong?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Also, why would I ask for a singleton_class without using it?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Agreed. I always assumed that not having a singleton class object for every object was an implementation detail.
&lt;/div&gt;&lt;br&gt;Yeah, I agree.
&lt;br&gt;&lt;br&gt;James Edward Gray II
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A21702---Feature--1082--add-Object-singleton_class-method-tp21768202p27704017.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27703163</id>
	<title>[ruby-core:28307] [Bug #2782] Binding#eval not completely indicative of its binding</title>
	<published>2010-02-23T05:18:25Z</published>
	<updated>2010-02-23T05:18:25Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Bug #2782: Binding#eval not completely indicative of its binding
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2782&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2782&lt;/a&gt;&lt;br&gt;&lt;br&gt;Author: Thomas Sawyer
&lt;br&gt;Status: Open, Priority: Normal
&lt;br&gt;Category: core
&lt;br&gt;ruby -v: 1.9.1
&lt;br&gt;&lt;br&gt;binding.eval(&amp;quot;__FILE__&amp;quot;) does not return the file from which the binding was created.
&lt;br&gt;&lt;br&gt;Given the purpose of binding it should hold that:
&lt;br&gt;&lt;br&gt;&amp;nbsp; __FILE__ == binding.eval(&amp;quot;__FILE__&amp;quot;)
&lt;br&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28307---Bug--2782--Binding-eval-not-completely-indicative-of-its-binding-tp27703163p27703163.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27699868</id>
	<title>[ruby-core:28306] Re: [Feature #1082] add Object#singleton_class 	method</title>
	<published>2010-02-23T00:19:54Z</published>
	<updated>2010-02-23T00:19:54Z</updated>
	<author>
		<name>Haase, Konstantin</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA1
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Feb 23, 2010, at 08:46 , Kornelius Kalnbach wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Then, the next issue is whether Kernel#singleton_class should create
&lt;br&gt;&amp;gt;&amp;gt; an eigenclass when the receiver has no eigenclass. &amp;nbsp;It would be better
&lt;br&gt;&amp;gt;&amp;gt; to have an optional argument (singleton_class(true/false) or
&lt;br&gt;&amp;gt;&amp;gt; singleton_class(:create =&amp;gt; true)?) to switch the behavior.
&lt;br&gt;&amp;gt; I always perceived singleton classes to be transparently created in the
&lt;br&gt;&amp;gt; background. Would it be wise to give the programmer access to its
&lt;br&gt;&amp;gt; existence status? (I assume singleton_class(false) == nil would behave
&lt;br&gt;&amp;gt; like a singleton_class? method.) Today, Ruby has no way of telling
&lt;br&gt;&amp;gt; whether an object already has a singleton class, or am I wrong?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Also, why would I ask for a singleton_class without using it?
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;Agreed. I always assumed that not having a singleton class object for every object was an implementation detail.
&lt;br&gt;&lt;br&gt;Konstantin
&lt;br&gt;&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG/MacGPG2 v2.0.14 (Darwin)
&lt;br&gt;&lt;br&gt;iQEcBAEBAgAGBQJLg4+mAAoJEDb0VmU+GZ4kwhgIAJ4gn9+fm46SX8AGlnpG9/N+
&lt;br&gt;3X9Hsf43ua80s95Yy9qD15NSFX1BN4beLDKX9Fv9R9TfOPtzSFG2C03DiNE9Nx64
&lt;br&gt;0y4/4ORrCk38sLDxWIsqaRcbLFsPrQnCq1yupF8o8SDuDPhbyzFRR0BM4ebl+D/E
&lt;br&gt;hfVZuU/HDg8i63bN6UP3zKqBTx8bS1zQAAeltGFulg7x1l2Q0gq+i1oWWRWu1iFN
&lt;br&gt;mjT+fh/r2SW36Yu+F2t1F0IkvayLJ+/nZP73Cs/7z4vF8eK1DFCyjuFWrcJ1d2Gz
&lt;br&gt;r6oPmb/1Zt54twQF7bmjz0svHiCHjyJT5amH+2ZBvMURXKiPwU7oRsjfLtMhNqk=
&lt;br&gt;=BWKR
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A21702---Feature--1082--add-Object-singleton_class-method-tp21768202p27699868.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27699574</id>
	<title>[ruby-core:28305] Re: [Feature #1082] add Object#singleton_class method</title>
	<published>2010-02-22T23:46:30Z</published>
	<updated>2010-02-22T23:46:30Z</updated>
	<author>
		<name>Kornelius Kalnbach</name>
	</author>
	<content type="html">On 23.02.10 08:14, Shugo Maeda wrote:
&lt;br&gt;&amp;gt; Today, I talked with Matz, and he has finally agreed with the use of
&lt;br&gt;&amp;gt; the term &amp;quot;singleton class.&amp;quot; &amp;nbsp;The reason why he has chosen the term
&lt;br&gt;&amp;gt; &amp;quot;singleton class&amp;quot; is that we have already had
&lt;br&gt;&amp;gt; Kernel#singleton_methods.
&lt;br&gt;Yay! \o/
&lt;br&gt;&lt;br&gt;&amp;gt; Then, the next issue is whether Kernel#singleton_class should create
&lt;br&gt;&amp;gt; an eigenclass when the receiver has no eigenclass. &amp;nbsp;It would be better
&lt;br&gt;&amp;gt; to have an optional argument (singleton_class(true/false) or
&lt;br&gt;&amp;gt; singleton_class(:create =&amp;gt; true)?) to switch the behavior.
&lt;br&gt;I always perceived singleton classes to be transparently created in the
&lt;br&gt;background. Would it be wise to give the programmer access to its
&lt;br&gt;existence status? (I assume singleton_class(false) == nil would behave
&lt;br&gt;like a singleton_class? method.) Today, Ruby has no way of telling
&lt;br&gt;whether an object already has a singleton class, or am I wrong?
&lt;br&gt;&lt;br&gt;Also, why would I ask for a singleton_class without using it?
&lt;br&gt;&lt;br&gt;[murphy]
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A21702---Feature--1082--add-Object-singleton_class-method-tp21768202p27699574.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27699300</id>
	<title>[ruby-core:28304] Re: [Feature #1082] add Object#singleton_class  method</title>
	<published>2010-02-22T23:14:20Z</published>
	<updated>2010-02-22T23:14:20Z</updated>
	<author>
		<name>Shugo Maeda</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;2010/1/5 Yukihiro Matsumoto &amp;lt;&lt;a&gt;matz@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; Basically, I agree.  But I cannot deny the fact that we already have
&lt;br&gt;&amp;gt; singleton.rb in the distribution, which provide Singleton class.  I
&lt;br&gt;&amp;gt; confess I did.  Probably I shouldn't have.
&lt;br&gt;&lt;br&gt;Today, I talked with Matz, and he has finally agreed with the use of
&lt;br&gt;the term &amp;quot;singleton class.&amp;quot; &amp;nbsp;The reason why he has chosen the term
&lt;br&gt;&amp;quot;singleton class&amp;quot; is that we have already had
&lt;br&gt;Kernel#singleton_methods.
&lt;br&gt;&lt;br&gt;Then, the next issue is whether Kernel#singleton_class should create
&lt;br&gt;an eigenclass when the receiver has no eigenclass. &amp;nbsp;It would be better
&lt;br&gt;to have an optional argument (singleton_class(true/false) or
&lt;br&gt;singleton_class(:create =&amp;gt; true)?) to switch the behavior.
&lt;br&gt;&lt;br&gt;Any thoughts?
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Shugo Maeda
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A21702---Feature--1082--add-Object-singleton_class-method-tp21768202p27699300.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27699257</id>
	<title>[ruby-core:28303] Re: Is Math module a wrapper of libm?</title>
	<published>2010-02-22T23:07:04Z</published>
	<updated>2010-02-22T23:07:04Z</updated>
	<author>
		<name>Tanaka Akira-3</name>
	</author>
	<content type="html">2010/2/23 Marc-Andre Lafortune &amp;lt;&lt;a&gt;ruby-core-mailing-list@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&lt;br&gt;&amp;gt; 4) Since we never raise Errno::EDOM and Errno::ERANGE, should they
&lt;br&gt;&amp;gt; still be defined?
&lt;br&gt;&lt;br&gt;They are not only for math library.
&lt;br&gt;&lt;br&gt;% ruby -rsocket -ve '
&lt;br&gt;s = Socket.new(:INET, :DGRAM)
&lt;br&gt;s.setsockopt(:SOCKET, :SNDTIMEO, &amp;quot;\x7f&amp;quot;*8)
&lt;br&gt;'
&lt;br&gt;ruby 1.9.2dev (2009-09-24 trunk 25067) [i686-linux]
&lt;br&gt;-e:3:in `setsockopt': Numerical argument out of domain (Errno::EDOM)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from -e:3:in `&amp;lt;main&amp;gt;'
&lt;br&gt;-- 
&lt;br&gt;Tanaka Akira
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28206--Is-Math-module-a-wrapper-of-libm--tp27633924p27699257.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27698614</id>
	<title>[ruby-core:28302] Re: Is Math module a wrapper of libm?</title>
	<published>2010-02-22T21:15:21Z</published>
	<updated>2010-02-22T21:15:21Z</updated>
	<author>
		<name>Marc-Andre Lafortune-3</name>
	</author>
	<content type="html">So here's a summary of the changes that Kenta and I propose, followed
&lt;br&gt;by final questions for everyone.
&lt;br&gt;&lt;br&gt;** Compared to Ruby 1.8:
&lt;br&gt;&lt;br&gt;&amp;nbsp;- New Exception class: DomainError, raised by mathematical functions
&lt;br&gt;for inputs without well defined results
&lt;br&gt;&amp;nbsp;- Errno::EDOM and Errno::ERANGE are no longer raised.
&lt;br&gt;&amp;nbsp;- Corner cases are now platform independent; a few deviate from SUSv3
&lt;br&gt;(see below)
&lt;br&gt;&lt;br&gt;** Interpretation of SUSv3:
&lt;br&gt;&lt;br&gt;&amp;nbsp;- Domain Errors: Ruby 1.9 raises a DomainError in these cases
&lt;br&gt;&amp;nbsp;- Pole Errors: Ruby 1.9 returns +-Infinity, as appropriate.
&lt;br&gt;&amp;nbsp;- Range Errors: Ruby 1.9 returns the under/overflowed result.
&lt;br&gt;&lt;br&gt;** Ruby 1.9 deviates from SUSv3 in a few corner cases:
&lt;br&gt;&lt;br&gt;&amp;nbsp;- Math.atan2(+-0.0, +-0.0) raises a DomainError (instead of returning
&lt;br&gt;+-pi/2 or +-0.0)
&lt;br&gt;&amp;nbsp;- Math.atan2(+-Infinity, +-Infinity) raises a DomainError (instead of
&lt;br&gt;returning +-pi/4 or +-3pi/4)
&lt;br&gt;&amp;nbsp;- Math.lgamma(-Infinity) raises a DomainError (instead of returning +Infinity)
&lt;br&gt;&amp;nbsp;- Math.sqrt(-0.0) returns 0.0 &amp;nbsp;(instead of -0.0)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;** Remaining questions
&lt;br&gt;&lt;br&gt;&amp;nbsp;1) Is it ok if 0.0/0.0 raises a DomainError instead of returning NaN?
&lt;br&gt;&lt;br&gt;This has the benefits of making the treatment of domain errors
&lt;br&gt;consistent. The only way to get a NaN from a calculation would then be
&lt;br&gt;to explicitly use Float::NAN for an input.
&lt;br&gt;This might imply some incompatibilities, though?
&lt;br&gt;Should Ruby 1.8.7/8 issue a warning?
&lt;br&gt;&lt;br&gt;2) Should DivisionByZero error be a subclass of DomainError?
&lt;br&gt;&lt;br&gt;I feel it should, but I don't know how much changes to error class
&lt;br&gt;hierarchy should be avoided.
&lt;br&gt;&lt;br&gt;3) Should the new DomainError be a subclass of ArgumentError, or of
&lt;br&gt;RuntimeError?
&lt;br&gt;&lt;br&gt;ArgumentError makes sense to me, but I'm not sure why it was
&lt;br&gt;originally chosen that DivisionByZero was not an ArgumentError.
&lt;br&gt;&lt;br&gt;4) Since we never raise Errno::EDOM and Errno::ERANGE, should they
&lt;br&gt;still be defined?
&lt;br&gt;&lt;br&gt;Removing them might cause incompatibilities (?) but keeping them might
&lt;br&gt;give the wrong impression.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hopefully others can chime in on these 4 questions?
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28206--Is-Math-module-a-wrapper-of-libm--tp27633924p27698614.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27698184</id>
	<title>[ruby-core:28301] Re: [Feature #2759] Regexp /g and /G options</title>
	<published>2010-02-22T19:50:27Z</published>
	<updated>2010-02-22T19:50:27Z</updated>
	<author>
		<name>Yusuke ENDOH</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;2010/2/22 Michael Fellinger &amp;lt;&lt;a&gt;redmine@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; I still don't understand the reasons to fork Oniguruma, why would a fork provide less features than the original?
&lt;br&gt;&lt;br&gt;I think that the &amp;quot;fork&amp;quot; is not a right word in this case.
&lt;br&gt;&lt;br&gt;Oniguruma has not only one regexp. &amp;nbsp;It has language flavors (configura-
&lt;br&gt;tions) to allow each language to select an enabled set of features.
&lt;br&gt;And, Oniguruma's Ruby flavor just disabled ONIG_OPTION_CAPTURE_GROUP.
&lt;br&gt;For another example, Oniguruma itself supports the \Q\E feature for Perl
&lt;br&gt;flavor. &amp;nbsp;Ruby flavor disables \Q\E too.
&lt;br&gt;&lt;br&gt;The reason why Ruby flavor disabled ONIG_OPTION_CAPTURE_GROUP seems:
&lt;br&gt;&lt;br&gt;&amp;nbsp; - ONIG_OPTION_CAPTURE_GROUP is not easy to understand (even Kosako said)
&lt;br&gt;&amp;nbsp; - using both named and unnamed capture at the time is considered as bad
&lt;br&gt;&amp;nbsp; &amp;nbsp; and confusing style in Ruby
&lt;br&gt;&amp;nbsp; - when it was discussed, there was no compatibility issue because there
&lt;br&gt;&amp;nbsp; &amp;nbsp; was no oniguruma gem
&lt;br&gt;&lt;br&gt;It was better for oniguruma gem to disable ONIG_OPTION_CAPTURE_GROUP as
&lt;br&gt;long as it quotes 1.9. &amp;nbsp;Otherwise, it had to explicitly state &amp;quot;the gem
&lt;br&gt;should not be used as 1.9-compat layer, but a wrapper for Oniguruma.&amp;quot;
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Yusuke ENDOH &amp;lt;&lt;a&gt;mame@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28235---Feature--2759--Regexp--g-and--G-options-tp27643940p27698184.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27696607</id>
	<title>[ruby-core:28300] [Bug #2781] crash when gc_mark()ing already free'd locals of cloned scope</title>
	<published>2010-02-22T15:48:56Z</published>
	<updated>2010-02-22T15:48:56Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Bug #2781: crash when gc_mark()ing already free'd locals of cloned scope
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2781&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2781&lt;/a&gt;&lt;br&gt;&lt;br&gt;Author: coderrr .
&lt;br&gt;Status: Open, Priority: High
&lt;br&gt;Category: core
&lt;br&gt;ruby -v: &amp;gt;= 1.8.7-p248
&lt;br&gt;&lt;br&gt;This causes a segfault on &amp;gt;= 1.8.7-p248
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;def def_x(arg)
&lt;br&gt;&amp;nbsp; Object.send :define_method, :x do
&lt;br&gt;&amp;nbsp; &amp;nbsp; def_x lambda{}
&lt;br&gt;&amp;nbsp; end
&lt;br&gt;end
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;GC.stress = true &amp;nbsp;# unnecessary but makes it occur faster
&lt;br&gt;def_x nil
&lt;br&gt;n = 3 # minimum for crash, increase if needed
&lt;br&gt;n.times { x 0 }
&lt;br&gt;---
&lt;br&gt;&lt;br&gt;This bug was caused by the fix i suggested for #1322, &amp;nbsp;&lt;a href=&quot;http://github.com/rubyspec/matzruby/commit/7c646cbba0815b3c9c7dc76f80fae58b30ec66b4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/rubyspec/matzruby/commit/7c646cbba0815b3c9c7dc76f80fae58b30ec66b4&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;The previous fix is flawed in that it added the SCOPE_MALLOC flag to the scope just so scope_dup() didn't process it. &amp;nbsp;This had the side-effect that gc_mark_children() now processes the scope whereas it would not have before. &amp;nbsp; A better fix is the following, which instead of adding the SCOPE_MALLOC flag, we add a check for the SCOPE_CLONE flag to scope_dup(). &amp;nbsp;This fixes bug #1322 as well as the segfault: &lt;a href=&quot;http://github.com/coderrr/matzruby/commit/249c7d9912b961a9350f300ed148857100a659f8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://github.com/coderrr/matzruby/commit/249c7d9912b961a9350f300ed148857100a659f8&lt;/a&gt;&lt;br&gt;&lt;br&gt;Please check the patch for other unforseen side effects. &amp;nbsp;I didn't see any changes in rubyspec failures from p174 to a patched p248.
&lt;br&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28300---Bug--2781--crash-when-gc_mark%28%29ing-already-free%27d-locals-of-cloned-scope-tp27696607p27696607.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27689936</id>
	<title>[ruby-core:28299] Re: Is Math module a wrapper of libm?</title>
	<published>2010-02-22T08:15:49Z</published>
	<updated>2010-02-22T08:15:49Z</updated>
	<author>
		<name>Kenta Murata</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I agree with your patch including the change of sqrt and logs.
&lt;br&gt;These functions will return complex values for negative input values
&lt;br&gt;in future version of ruby (I believe it is 1.9.3 or later).
&lt;br&gt;So, I don't stick to them.
&lt;br&gt;&lt;br&gt;&lt;br&gt;I feel that returning NaN isn't programmer friendly. &amp;nbsp;I think
&lt;br&gt;generating NaN is need to be noticed for programmers. &amp;nbsp;Though NaN
&lt;br&gt;ruins all of computations with it, the execution isn't interrupted.
&lt;br&gt;Because of that, I suggest raising DomainError instead of retuning
&lt;br&gt;NaN. &amp;nbsp;If raising DomainError, programmers will have to write codes
&lt;br&gt;handling DomainErrors may be raised.
&lt;br&gt;&lt;br&gt;So far, the literal 0.0/0.0 is used for explicitly generating NaN.
&lt;br&gt;Since ruby now have Float::NAN, I think 0.0/0.0 may raises DomainError.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Kenta Murata
&lt;br&gt;OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC
&lt;br&gt;&lt;br&gt;本を書きました!!
&lt;br&gt;『Ruby 逆引きレシピ』 &lt;a href=&quot;http://www.amazon.co.jp/dp/4798119881/mrkn-22&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.co.jp/dp/4798119881/mrkn-22&lt;/a&gt;&lt;br&gt;&lt;br&gt;E-mail: &lt;a&gt;mrkn@...&lt;/a&gt;
&lt;br&gt;twitter: &lt;a href=&quot;http://twitter.com/mrkn/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/mrkn/&lt;/a&gt;&lt;br&gt;blog: &lt;a href=&quot;http://d.hatena.ne.jp/mrkn/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://d.hatena.ne.jp/mrkn/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28206--Is-Math-module-a-wrapper-of-libm--tp27633924p27689936.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27689617</id>
	<title>[ruby-core:28298] [Bug #2780] &quot;Handle is invalid&quot; when accessing the file system from different threads (win32)</title>
	<published>2010-02-22T08:04:37Z</published>
	<updated>2010-02-22T08:04:37Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Bug #2780: &amp;quot;Handle is invalid&amp;quot; when accessing the file system from different threads (win32)
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2780&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2780&lt;/a&gt;&lt;br&gt;&lt;br&gt;Author: Dennis Ranke
&lt;br&gt;Status: Open, Priority: Normal
&lt;br&gt;Category: core
&lt;br&gt;ruby -v: ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-mswin32]
&lt;br&gt;&lt;br&gt;Sometimes when building projects using our own build tool written in ruby, the ruby interpreter crashes on us. The build tool uses multiple threads to compile files in parallel. (Like &amp;quot;make -j 2&amp;quot;)
&lt;br&gt;&lt;br&gt;First we got this backtrace:
&lt;br&gt;&lt;br&gt;C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/dependencies.rb:32: [BUG] Das Handle ist ung³ltig.
&lt;br&gt;ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-mswin32]
&lt;br&gt;-- control frame ----------
&lt;br&gt;c:0013 p:---- s:0052 b:0052 l:000051 d:000051 CFUNC :initialize
&lt;br&gt;c:0012 p:---- s:0050 b:0050 l:000049 d:000049 CFUNC :open
&lt;br&gt;c:0011 p:0042 s:0045 b:0045 l:000044 d:000044 METHOD C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/dependencies.rb:32
&lt;br&gt;c:0010 p:0497 s:0039 b:0039 l:000bf0 d:002164 BLOCK C:/projekte/tools/code/shared/modules_compiler/compiler/win32/msvc/vc13106030/msvcbase.def:154
&lt;br&gt;c:0009 p:0038 s:0029 b:0029 l:000028 d:000028 METHOD C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:200
&lt;br&gt;c:0008 p:0043 s:0022 b:0022 l:000021 d:000021 METHOD C:/projekte/tools/code/shared/modules_compiler/compiler/win32/msvc/vc13106030/msvcbase.def:104
&lt;br&gt;c:0007 p:0185 s:0016 b:0016 l:001d68 d:000015 BLOCK C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:282
&lt;br&gt;c:0006 p:---- s:0013 b:0013 l:000012 d:000012 FINISH
&lt;br&gt;c:0005 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC :loop
&lt;br&gt;c:0004 p:0009 s:0008 b:0008 l:001d68 d:000007 BLOCK C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:269
&lt;br&gt;c:0003 p:0007 s:0006 b:0006 l:001d8c d:000005 BLOCK C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:221
&lt;br&gt;c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
&lt;br&gt;c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP
&lt;br&gt;---------------------------
&lt;br&gt;-- Ruby level backtrace information-----------------------------------------
&lt;br&gt;C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:200:in `read'
&lt;br&gt;C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:200:in `check_optimized_dependencies'
&lt;br&gt;C:/projekte/tools/code/shared/modules_compiler/compiler/win32/msvc/vc13106030/msvcbase.def:104:in `compile'
&lt;br&gt;C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:282:in `block (2 levels) in process_files'
&lt;br&gt;C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:269:in `loop'
&lt;br&gt;C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:269:in `block in process_files'
&lt;br&gt;C:/projekte/tools/code/animation/AnimationConverter/helpers/lace/lib/lace/compilerbase.rb:221:in `block (2 levels) in threaded'
&lt;br&gt;[NOTE]
&lt;br&gt;You may encounter a bug of Ruby interpreter. Bug reports are welcome.
&lt;br&gt;For details: &lt;a href=&quot;http://www.ruby-lang.org/bugreport.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ruby-lang.org/bugreport.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;This is in a File.read call.
&lt;br&gt;I have then wrapped this File.read in a mutex and now get (less frequently):
&lt;br&gt;&lt;br&gt;C:/projekte/xxx/code_buildmachine/local/helpers/lace/lib/lace/dependencies.rb:31: [BUG] Das Handle ist ung³ltig. 
&lt;br&gt;ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-mswin32] 
&lt;br&gt;-- control frame ---------- 
&lt;br&gt;c:0018 p:---- s:0066 b:0065 l:000064 d:000064 CFUNC &amp;nbsp;:expand_path 
&lt;br&gt;c:0017 p:0027 s:0061 b:0061 l:000043 d:000060 BLOCK &amp;nbsp;C:/projekte/xxx/code_buildmachine/local/helpers/lace/lib/lace/dependencies.rb:31 
&lt;br&gt;c:0016 p:---- s:0058 b:0058 l:000057 d:000057 FINISH 
&lt;br&gt;c:0015 p:---- s:0056 b:0056 l:000055 d:000055 CFUNC &amp;nbsp;:each 
&lt;br&gt;c:0014 p:0029 s:0053 b:0053 l:000043 d:000052 BLOCK &amp;nbsp;C:/projekte/xxx/code_buildmachine/local/helpers/lace/lib/lace/dependencies.rb:30 
&lt;br&gt;c:0013 p:---- s:0049 b:0049 l:000048 d:000048 FINISH 
&lt;br&gt;c:0012 p:---- s:0047 b:0047 l:000046 d:000046 CFUNC &amp;nbsp;:map 
&lt;br&gt;c:0011 p:0016 s:0044 b:0044 l:000043 d:000043 METHOD C:/projekte/xxx/code_buildmachine/local/helpers/lace/lib/lace/dependencies.rb:28 
&lt;br&gt;c:0010 p:0379 s:0038 b:0038 l:001608 d:000aec BLOCK &amp;nbsp;C:/projekte/xxx/code_buildmachine/stable/modules_compilers/compiler/xb360/module.lace:61 
&lt;br&gt;c:0009 p:0070 s:0028 b:0028 l:000027 d:000027 METHOD C:/projekte/xxx/code_buildmachine/local/helpers/lace/lib/lace/compilerbase.rb:202 
&lt;br&gt;c:0008 p:0043 s:0022 b:0022 l:001608 d:001608 METHOD C:/projekte/xxx/code_buildmachine/stable/modules_compilers/compiler/xb360/module.lace:18 
&lt;br&gt;c:0007 p:0185 s:0016 b:0016 l:000e40 d:000015 BLOCK &amp;nbsp;C:/projekte/xxx/code_buildmachine/local/helpers/lace/lib/lace/compilerbase.rb:283 
&lt;br&gt;c:0006 p:---- s:0013 b:0013 l:000012 d:000012 FINISH 
&lt;br&gt;c:0005 p:---- s:0011 b:0011 l:000010 d:000010 CFUNC &amp;nbsp;:loop 
&lt;br&gt;c:0004 p:0009 s:0008 b:0008 l:000e40 d:000007 BLOCK &amp;nbsp;C:/projekte/xxx/code_buildmachine/local/helpers/lace/lib/lace/compilerbase.rb:270 
&lt;br&gt;c:0003 p:0007 s:0006 b:0006 l:002074 d:000005 BLOCK &amp;nbsp;C:/projekte/xxx/code_buildmachine/local/helpers/lace/lib/lace/compilerbase.rb:222 
&lt;br&gt;c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP &amp;nbsp; 
&lt;br&gt;c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH 
&lt;br&gt;&lt;br&gt;Ie. the same error in a File.expand_path. (&amp;quot;Das Handle ist ung³ltig.&amp;quot; translates to &amp;quot;The handle is invalid.&amp;quot;) This was tested on Windows XP.
&lt;br&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28298---Bug--2780--%22Handle-is-invalid%22-when-accessing-the-file-system-from-different-threads-%28win32%29-tp27689617p27689617.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27689330</id>
	<title>[ruby-core:28297] Re: [Bug #2330] Non systematic segmentation  fault with autoload rubyspec</title>
	<published>2010-02-22T07:48:18Z</published>
	<updated>2010-02-22T07:48:18Z</updated>
	<author>
		<name>Marc-Andre Lafortune-3</name>
	</author>
	<content type="html">Hi.
&lt;br&gt;&lt;br&gt;On Mon, Feb 1, 2010 at 12:54 PM, Marc-Andre Lafortune
&lt;br&gt;&amp;lt;&lt;a&gt;ruby-core-mailing-list@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; I can confirm that it doesn't segfault anymore if this patch is applied.
&lt;br&gt;&lt;br&gt;It turns out it doesn't segfault _most of the times_. When running the
&lt;br&gt;original rubyspec, though, it still crashes most of the time. I ran a
&lt;br&gt;loop on my minimal case. It still crashes, but it may take thousands
&lt;br&gt;of runs before it does.
&lt;br&gt;&lt;br&gt;Appears related to [ruby-dev:40452]
&lt;br&gt;&lt;br&gt;I should install valgrind...
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A26523---Bug--2330--Non-systematic-segmentation-fault-with-autoload-rubyspec-tp26191273p27689330.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27686491</id>
	<title>[ruby-core:28296] [Bug #2779] Net::HTTP#get raises NoMethodError</title>
	<published>2010-02-22T04:26:30Z</published>
	<updated>2010-02-22T04:26:30Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Bug #2779: Net::HTTP#get raises NoMethodError
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2779&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2779&lt;/a&gt;&lt;br&gt;&lt;br&gt;Author: Stephen Sykes
&lt;br&gt;Status: Open, Priority: Normal
&lt;br&gt;Category: lib
&lt;br&gt;ruby -v: ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-darwin10.2.0]
&lt;br&gt;&lt;br&gt;I think this was introduced in Revision 25851:
&lt;br&gt;&lt;br&gt;require 'net/http'
&lt;br&gt;nh = Net::HTTP.new(&amp;quot;does_not_exist_at_all.com&amp;quot;)
&lt;br&gt;nh.get(&amp;quot;/&amp;quot;)
&lt;br&gt;NoMethodError: undefined method `closed?' for nil:NilClass
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /usr/local/lib/ruby/1.8/net/http.rb:1060:in `request'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /usr/local/lib/ruby/1.8/net/http.rb:772:in `get'
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from (irb):11
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; from /usr/local/lib/ruby/1.8/net/http.rb:2042
&lt;br&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28296---Bug--2779--Net%3A%3AHTTP-get-raises-NoMethodError-tp27686491p27686491.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27685281</id>
	<title>[ruby-core:28295] [Backport #1743] r23201 should be backported to 1.8.6</title>
	<published>2010-02-22T02:24:56Z</published>
	<updated>2010-02-22T02:24:56Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Issue #1743 has been updated by Kornelius Kalnbach.
&lt;br&gt;&lt;br&gt;&lt;br&gt;I get &amp;quot;Virtual timer expired&amp;quot; after this patch when using Rails. The &amp;quot;Phusion passenger guys&amp;quot;:&lt;a href=&quot;http://blog.phusion.nl/2009/05/20/ruby-enterprise-edition-186-20090520-released/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.phusion.nl/2009/05/20/ruby-enterprise-edition-186-20090520-released/&lt;/a&gt;&amp;nbsp;seem to have fixed the issue.
&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/1743&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/1743&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A24203---Backport--1743--r23201-should-be-backported-to-1.8.6-tp24389443p27685281.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27684964</id>
	<title>[ruby-core:28294] [Feature #2778] Regular Expression Named Group Matching does not work with String#[]</title>
	<published>2010-02-22T01:54:35Z</published>
	<updated>2010-02-22T01:54:35Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Issue #2778 has been updated by Yui NARUSE.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;quot;will&amp;quot; means 1.9.2 is not released yet; the code is already in trunk.
&lt;br&gt;see also #966
&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2778&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2778&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28290---Bug--2778--Regular-Expression-Named-Group-Matching-does-not-work-with-String----tp27684010p27684964.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27684739</id>
	<title>[ruby-core:28293] [Feature #2778] Regular Expression Named Group Matching does not work with String#[]</title>
	<published>2010-02-22T01:24:22Z</published>
	<updated>2010-02-22T01:24:22Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Issue #2778 has been updated by Robert Klemme.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks for the update! &amp;nbsp;I wonder whether closing is the proper resolution. &amp;nbsp;Shouldn't we be setting target version to 1.9.2 and keep this open until the code change is done?
&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2778&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2778&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28290---Bug--2778--Regular-Expression-Named-Group-Matching-does-not-work-with-String----tp27684010p27684739.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27684430</id>
	<title>[ruby-core:28292] [Feature #2778](Closed) Regular Expression Named Group Matching does not work with String#[]</title>
	<published>2010-02-22T00:58:09Z</published>
	<updated>2010-02-22T00:58:09Z</updated>
	<author>
		<name>Dennis Ranke-2</name>
	</author>
	<content type="html">Issue #2778 has been updated by Yui NARUSE.
&lt;br&gt;&lt;br&gt;Status changed from Open to Closed
&lt;br&gt;&lt;br&gt;This will be implemented in Ruby 1.9.2.
&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org/issues/show/2778&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org/issues/show/2778&lt;/a&gt;&lt;br&gt;&lt;br&gt;----------------------------------------
&lt;br&gt;&lt;a href=&quot;http://redmine.ruby-lang.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://redmine.ruby-lang.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28290---Bug--2778--Regular-Expression-Named-Group-Matching-does-not-work-with-String----tp27684010p27684430.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-27684176</id>
	<title>[ruby-core:28291] Re: Is Math module a wrapper of libm?</title>
	<published>2010-02-22T00:31:19Z</published>
	<updated>2010-02-22T00:31:19Z</updated>
	<author>
		<name>Marc-Andre Lafortune-3</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;br&gt;I like the direction we're taking.
&lt;br&gt;&lt;br&gt;I've been thinking about a general decision algorithm. It would look like:
&lt;br&gt;&lt;br&gt;Try to come up with a valid mathematical value (including +-inf but
&lt;br&gt;excluding NaN):
&lt;br&gt;- Check all possible values (excluding NaN). If there is exactly one,
&lt;br&gt;you're done.
&lt;br&gt;- If there are many possible values, are they all basically equal
&lt;br&gt;(e.g. -0.0 vs +0.0, or +pi vs -pi for an angle)? If so, then return
&lt;br&gt;the best one.
&lt;br&gt;- If the possible values are +-Infinity, and the input is +-0.0 can
&lt;br&gt;tell you which to pick, then return the right infinity (pole error
&lt;br&gt;case)
&lt;br&gt;- Otherwise return NaN or raise an error.
&lt;br&gt;&lt;br&gt;This algorithm agrees with your proposal that atan2(0,0) should raise
&lt;br&gt;an error. While we're contradicting IEEE, have you thought of
&lt;br&gt;atan2(+-Inf, +-Inf)? I feel it should also be an error, in the same
&lt;br&gt;way that Inf/Inf doesn't return 1!
&lt;br&gt;&lt;br&gt;Here's an incremental patch that modifies the code according to this.
&lt;br&gt;Note that infinity_check was already redundant, so I removed it.
&lt;br&gt;domain_check was also redundant except potentially for some corner
&lt;br&gt;cases. Indeed SUSv3 states that implementations may set the ERANGE
&lt;br&gt;error flag in case of subnormal values. domain_check would raise an
&lt;br&gt;error if this was the case. Since this behavior is platform dependant
&lt;br&gt;(and far from useful), I removed domain_check also.
&lt;br&gt;&lt;br&gt;I included a line so that sqrt(-0.0) = +0.0 instead of -0.0, because I
&lt;br&gt;feel it makes sense and is consistent with pow(-0.0, 0.5) == +0.0, but
&lt;br&gt;I don't think it matters all that much and I definitely won't fight
&lt;br&gt;over it.
&lt;br&gt;&lt;br&gt;The question that remains in my mind: is it better to return NaN or
&lt;br&gt;raise a domain error? Why should 0.0/0.0 == NaN and atan2(0.0, 0.0)
&lt;br&gt;raise an error? I personally would lean towards always returning NaN
&lt;br&gt;instead of raising an error, but I am not confident in this
&lt;br&gt;preference. Or never return NaN? Thoughts?
&lt;br&gt;&lt;br&gt;&lt;br&gt;diff --git a/math.c b/math.c
&lt;br&gt;index 5064d05..77a8757 100644
&lt;br&gt;--- a/math.c
&lt;br&gt;+++ b/math.c
&lt;br&gt;@@ -11,7 +11,6 @@
&lt;br&gt;&lt;br&gt;&amp;nbsp;#include &amp;quot;ruby/ruby.h&amp;quot;
&lt;br&gt;&amp;nbsp;#include &amp;lt;math.h&amp;gt;
&lt;br&gt;-#include &amp;lt;errno.h&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp;#define numberof(array) (int)(sizeof(array) / sizeof((array)[0]))
&lt;br&gt;&lt;br&gt;@@ -28,45 +27,6 @@ extern VALUE rb_to_float(VALUE val);
&lt;br&gt;&amp;nbsp;#define domain_error(msg) \
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rb_raise(rb_eMathDomainError, &amp;quot;Numerical argument is out of
&lt;br&gt;domain - &amp;quot; #msg);
&lt;br&gt;&lt;br&gt;-static void
&lt;br&gt;-domain_check(double x, double y, const char *msg)
&lt;br&gt;-{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (errno) {
&lt;br&gt;-	if (isinf(y)) return;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;-	if (!isnan(y)) return;
&lt;br&gt;-	else if (isnan(x)) return;
&lt;br&gt;-	else {
&lt;br&gt;-#if defined(EDOM)
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;errno = EDOM;
&lt;br&gt;-#else
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;errno = ERANGE;
&lt;br&gt;-#endif
&lt;br&gt;-	}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;rb_sys_fail(msg);
&lt;br&gt;-}
&lt;br&gt;-
&lt;br&gt;-static void
&lt;br&gt;-infinity_check(VALUE arg, double res, const char *msg)
&lt;br&gt;-{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;while(1) {
&lt;br&gt;-	if (errno) {
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;rb_sys_fail(msg);
&lt;br&gt;-	}
&lt;br&gt;-	if (isinf(res) &amp;&amp; !isinf(RFLOAT_VALUE(arg))) {
&lt;br&gt;-#if defined(EDOM)
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;errno = EDOM;
&lt;br&gt;-#elif defined(ERANGE)
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;errno = ERANGE;
&lt;br&gt;-#endif
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;continue;
&lt;br&gt;-	}
&lt;br&gt;-	break;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-}
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;&amp;nbsp; * &amp;nbsp;call-seq:
&lt;br&gt;&amp;nbsp; * &amp;nbsp; &amp;nbsp; Math.atan2(y, x) &amp;nbsp;=&amp;gt; float
&lt;br&gt;@@ -95,6 +55,7 @@ math_atan2(VALUE obj, VALUE y, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;dx = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;dy = RFLOAT_VALUE(y);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (dx == 0.0 &amp;&amp; dy == 0.0) domain_error(&amp;quot;atan2&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (isinf(dx) &amp;&amp; isinf(dy)) domain_error(&amp;quot;atan2&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(atan2(dy, dx));
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -159,12 +120,10 @@ math_acos(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;double d0, d;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Need_Float(x);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d0 = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (d0 &amp;lt; -1.0 || 1.0 &amp;lt; d0) domain_error(&amp;quot;acos&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = acos(d0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;acos&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(d);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -181,12 +140,10 @@ math_asin(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;double d0, d;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Need_Float(x);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d0 = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (d0 &amp;lt; -1.0 || 1.0 &amp;lt; d0) domain_error(&amp;quot;asin&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = asin(d0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;asin&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(d);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -286,12 +243,10 @@ math_acosh(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;double d0, d;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Need_Float(x);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d0 = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (d0 &amp;lt; 1.0) domain_error(&amp;quot;acosh&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = acosh(d0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;acosh&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(d);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -322,7 +277,6 @@ math_atanh(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;double d0, d;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Need_Float(x);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d0 = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (d0 &amp;lt; &amp;nbsp;-1.0 || +1.0 &amp;lt; &amp;nbsp;d0) domain_error(&amp;quot;atanh&amp;quot;);
&lt;br&gt;@@ -330,8 +284,6 @@ math_atanh(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (d0 == -1.0) return DBL2NUM(-INFINITY);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (d0 == +1.0) return DBL2NUM(+INFINITY);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = atanh(d0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;atanh&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;infinity_check(x, d, &amp;quot;atanh&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(d);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -387,19 +339,16 @@ math_log(int argc, VALUE *argv)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;rb_scan_args(argc, argv, &amp;quot;11&amp;quot;, &amp;x, &amp;base);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Need_Float(x);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d0 = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (signbit(d0)) domain_error(&amp;quot;log&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (d0 &amp;lt; 0.0) domain_error(&amp;quot;log&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for pole error */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (d0 == +0.0) return DBL2NUM(-INFINITY);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (d0 == 0.0) return DBL2NUM(-INFINITY);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = log(d0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (argc == 2) {
&lt;br&gt;&amp;nbsp;	Need_Float(base);
&lt;br&gt;&amp;nbsp;	d /= log(RFLOAT_VALUE(base));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;log&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;infinity_check(x, d, &amp;quot;log&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(d);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -434,15 +383,12 @@ math_log2(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;double d0, d;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Need_Float(x);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d0 = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (signbit(d0)) domain_error(&amp;quot;log2&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (d0 &amp;lt; 0.0) domain_error(&amp;quot;log2&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for pole error */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (d0 == +0.0) return DBL2NUM(-INFINITY);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (d0 == 0.0) return DBL2NUM(-INFINITY);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = log2(d0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;log2&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;infinity_check(x, d, &amp;quot;log2&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(d);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -464,15 +410,12 @@ math_log10(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;double d0, d;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Need_Float(x);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d0 = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (signbit(d0)) domain_error(&amp;quot;log10&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (d0 &amp;lt; 0.0) domain_error(&amp;quot;log10&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for pole error */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (d0 == +0.0) return DBL2NUM(-INFINITY);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (d0 == 0.0) return DBL2NUM(-INFINITY);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = log10(d0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;log10&amp;quot;);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;infinity_check(x, d, &amp;quot;log10&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(d);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -506,12 +449,11 @@ math_sqrt(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;double d0, d;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Need_Float(x);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d0 = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (signbit(d0)) domain_error(&amp;quot;sqrt&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (d0 &amp;lt; 0) domain_error(&amp;quot;sqrt&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (d0 == 0) return DBL2NUM(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = sqrt(d0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;sqrt&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(d);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -718,14 +660,14 @@ math_gamma(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (isinf(d0) &amp;&amp; signbit(d0)) domain_error(&amp;quot;gamma&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fracpart = modf(d0, &amp;intpart);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;if (fracpart == 0.0 &amp;&amp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;lt; intpart &amp;&amp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;intpart - 1 &amp;lt; (double)numberof(fact_table)) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(fact_table[(int)intpart - 1]);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;if (fracpart == 0.0) {
&lt;br&gt;+	if (intpart &amp;lt; 0) domain_error(&amp;quot;gamma&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (0 &amp;lt; intpart &amp;&amp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;intpart - 1 &amp;lt; (double)numberof(fact_table)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(fact_table[(int)intpart - 1]);
&lt;br&gt;+	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = tgamma(d0);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;gamma&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return DBL2NUM(d);
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;@@ -748,7 +690,6 @@ math_lgamma(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;int sign=1;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;VALUE v;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Need_Float(x);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;errno = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d0 = RFLOAT_VALUE(x);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* check for domain error */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (isinf(d0) &amp;&amp; signbit(d0)) domain_error(&amp;quot;lgamma&amp;quot;);
&lt;br&gt;@@ -756,7 +697,6 @@ math_lgamma(VALUE obj, VALUE x)
&lt;br&gt;&amp;nbsp;	return rb_assoc_new(DBL2NUM(INFINITY), INT2FIX(1));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;d = lgamma_r(d0, &amp;sign);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;domain_check(d0, d, &amp;quot;lgamma&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;v = DBL2NUM(d);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return rb_assoc_new(v, INT2FIX(sign));
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;diff --git a/test/ruby/test_math.rb b/test/ruby/test_math.rb
&lt;br&gt;index 3963e91..2f654c1 100644
&lt;br&gt;--- a/test/ruby/test_math.rb
&lt;br&gt;+++ b/test/ruby/test_math.rb
&lt;br&gt;@@ -18,6 +18,7 @@ class TestMath &amp;lt; Test::Unit::TestCase
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;def test_atan2
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.atan2(0, 0) }
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.atan2(1.0 / 0.0, 1.0 / 0.0) }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;check(0, Math.atan2(0, 1))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;check(Math::PI / 4, Math.atan2(1, 1))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;check(Math::PI / 2, Math.atan2(1, 0))
&lt;br&gt;@@ -131,7 +132,7 @@ class TestMath &amp;lt; Test::Unit::TestCase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;check(2, Math.log(100, 10))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_equal(1.0/0, Math.log(1.0/0))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_nothing_raised { assert_infinity -Math.log(+0.0) }
&lt;br&gt;- &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.log(-0.0) } # TODO:
&lt;br&gt;[ruby-core:28265]
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;assert_nothing_raised { assert_infinity -Math.log(-0.0) }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.log(-1.0) }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_raise(TypeError) { Math.log(1,nil) }
&lt;br&gt;&amp;nbsp; &amp;nbsp;end
&lt;br&gt;@@ -142,7 +143,7 @@ class TestMath &amp;lt; Test::Unit::TestCase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;check(2, Math.log2(4))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_equal(1.0/0, Math.log2(1.0/0))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_nothing_raised { assert_infinity -Math.log2(+0.0) }
&lt;br&gt;- &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.log2(-0.0) } # TODO:
&lt;br&gt;[ruby-core:28265]
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;assert_nothing_raised { assert_infinity -Math.log2(-0.0) }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.log2(-1.0) }
&lt;br&gt;&amp;nbsp; &amp;nbsp;end
&lt;br&gt;&lt;br&gt;@@ -152,7 +153,7 @@ class TestMath &amp;lt; Test::Unit::TestCase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;check(2, Math.log10(100))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_equal(1.0/0, Math.log10(1.0/0))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_nothing_raised { assert_infinity -Math.log10(+0.0) }
&lt;br&gt;- &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.log10(-0.0) } # TODO:
&lt;br&gt;[ruby-core:28265]
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;assert_nothing_raised { assert_infinity -Math.log10(-0.0) }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.log10(-1.0) }
&lt;br&gt;&amp;nbsp; &amp;nbsp;end
&lt;br&gt;&lt;br&gt;@@ -161,7 +162,7 @@ class TestMath &amp;lt; Test::Unit::TestCase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;check(1, Math.sqrt(1))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;check(2, Math.sqrt(4))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_equal(1.0/0, Math.sqrt(1.0/0))
&lt;br&gt;- &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.sqrt(-0.0) } # TODO:
&lt;br&gt;[ruby-core:28265]
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;assert_equal(&amp;quot;0.0&amp;quot;, Math.sqrt(-0.0).to_s) # insure it is +0.0, not -0.0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;assert_raise(Math::DomainError) { Math.sqrt(-1.0) }
&lt;br&gt;&amp;nbsp; &amp;nbsp;end
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-ruby-core%3A28206--Is-Math-module-a-wrapper-of-libm--tp27633924p27684176.html" />
</entry>

</feed>

